Difference between revisions of "Event.KEY DOWN"

From GiderosMobile
m (Text replacement - "<source" to "<syntaxhighlight")
 
(6 intermediate revisions by 2 users not shown)
Line 5: Line 5:
  
 
=== Description ===
 
=== Description ===
This event is dispatched when a supported key is pressed. For the list of supported keys, check the [[KeyCode]] class. Modifiers can have values of:
+
This event is dispatched when a supported key is pressed. List of supported keys '''[[KeyCode Constants]]'''.
*[[KeyCode.MODIFIER_NONE]]
 
*[[KeyCode.MODIFIER_SHIFT]]
 
*[[KeyCode.MODIFIER_CTRL]]
 
*[[KeyCode.MODIFIER_ALT]]
 
*[[KeyCode.MODIFIER_META]]
 
  
 
=== Parameters ===
 
=== Parameters ===
 +
'''type''': (String) '''keyDown'''<br/>
 
'''keyCode''': (number) code of the key pressed<br/>
 
'''keyCode''': (number) code of the key pressed<br/>
 
'''realCode''': (number) real keyCode underneath<br/>
 
'''realCode''': (number) real keyCode underneath<br/>
'''modifiers''': (number) modifiers present, or nil if not supported<br/>
+
'''modifiers''': (number) modifiers present:<br/>
 +
&nbsp;&nbsp; no key modifier, '''KeyCode.MODIFIER_NONE''', '''0'''<br/>
 +
&nbsp;&nbsp; ''SHIFT'' key modifier, '''KeyCode.MODIFIER_SHIFT''', '''1'''<br/>
 +
&nbsp;&nbsp; ''LEFT ALT'' modifier, '''KeyCode.MODIFIER_ALT''', '''2'''<br/>
 +
&nbsp;&nbsp; ''CONTROL'' modifier, '''KeyCode.MODIFIER_CTRL''', '''4'''<br/>
 +
&nbsp;&nbsp; ''RIGHT ALT'' modifier, '''KeyCode.MODIFIER_ALT''', '''6'''<br/>
 +
&nbsp;&nbsp; ''META'' modifier, '''KeyCode.MODIFIER_META''', '''8'''<br/>
  
=== Example ===
+
=== Examples ===
 +
'''Codes for pressed key'''
 
<syntaxhighlight lang="lua">
 
<syntaxhighlight lang="lua">
 
function onKeyDown(e)
 
function onKeyDown(e)
 
print(e.keyCode, e.realCode, e.modifiers)
 
print(e.keyCode, e.realCode, e.modifiers)
 
end
 
end
 +
stage:addEventListener(Event.KEY_DOWN, onKeyDown)
 +
</syntaxhighlight>
  
 +
'''Detecting numpad Enter key (Windows)'''
 +
<syntaxhighlight lang="lua">
 +
function onKeyDown(e)
 +
if e.keyCode == 13 then -- win32, keyCode for both KeyCode.ENTER and KeyCode.NUM_ENTER
 +
if e.realCode == 13 then -- win32, realCode for both KeyCode.ENTER and KeyCode.NUM_ENTER
 +
-- do something
 +
end
 +
elseif e.keyCode == 0 then -- Windows, keyCode for KeyCode.NUM_ENTER
 +
if e.realCode == 553648133 then -- Windows, realCode for KeyCode.NUM_ENTER
 +
print("Key Code NUM_ENTER pressed", e.keyCode, e.realCode)
 +
-- do something
 +
end
 +
-- ...
 +
end
 +
end
 
stage:addEventListener(Event.KEY_DOWN, onKeyDown)
 
stage:addEventListener(Event.KEY_DOWN, onKeyDown)
</source>
+
</syntaxhighlight>
'''note''': for this event to work you need to add your sprite to the stage (scene).
+
'''note''': for this event to work you need to add your sprite to the stage (scene)
 +
 
 +
=== See also ===
 +
'''[[Event.KEY UP]]'''<br/>
 +
'''[[Event.KEY CHAR]]'''
  
 
{{Sprite}}
 
{{Sprite}}

Latest revision as of 05:12, 1 August 2025

Available since: Gideros 2011.6
Value: keyDown
Defined by: Sprite

Description

This event is dispatched when a supported key is pressed. List of supported keys KeyCode Constants.

Parameters

type: (String) keyDown
keyCode: (number) code of the key pressed
realCode: (number) real keyCode underneath
modifiers: (number) modifiers present:
   no key modifier, KeyCode.MODIFIER_NONE, 0
   SHIFT key modifier, KeyCode.MODIFIER_SHIFT, 1
   LEFT ALT modifier, KeyCode.MODIFIER_ALT, 2
   CONTROL modifier, KeyCode.MODIFIER_CTRL, 4
   RIGHT ALT modifier, KeyCode.MODIFIER_ALT, 6
   META modifier, KeyCode.MODIFIER_META, 8

Examples

Codes for pressed key

function onKeyDown(e)
	print(e.keyCode, e.realCode, e.modifiers)
end
stage:addEventListener(Event.KEY_DOWN, onKeyDown)

Detecting numpad Enter key (Windows)

function onKeyDown(e)
	if e.keyCode == 13 then -- win32, keyCode for both KeyCode.ENTER and KeyCode.NUM_ENTER
		if e.realCode == 13 then -- win32, realCode for both KeyCode.ENTER and KeyCode.NUM_ENTER
			-- do something
		end
	elseif e.keyCode == 0 then -- Windows, keyCode for KeyCode.NUM_ENTER
		if e.realCode == 553648133 then -- Windows, realCode for KeyCode.NUM_ENTER
			print("Key Code NUM_ENTER pressed", e.keyCode, e.realCode)
			-- do something
		end
	-- ...
	end
end
stage:addEventListener(Event.KEY_DOWN, onKeyDown)

note: for this event to work you need to add your sprite to the stage (scene)

See also

Event.KEY UP
Event.KEY CHAR