Difference between revisions of "Event.KEY DOWN"

From GiderosMobile
 
(26 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
'''Available since:''' Gideros 2011.6<br/>
 
'''Available since:''' Gideros 2011.6<br/>
 
'''Value:''' keyDown<br/>
 
'''Value:''' keyDown<br/>
 +
'''Defined by:''' [[Sprite]]<br/>
 +
 
=== Description ===
 
=== Description ===
Button on controller was pushed down
+
This event is dispatched when a supported key is pressed. List of supported keys '''[[KeyCode Constants]]'''.
 +
 
 
=== Parameters ===
 
=== Parameters ===
'''playerId''': (number) id of controller/player that pressed the button<br/>
+
'''type''': (String) '''keyDown'''<br/>
'''keyCode''': (number) button key code that was pressed<br/>
+
'''keyCode''': (number) code of the key pressed<br/>
__NOTOC__
 
'''Available since:''' Gideros 2011.6<br/>
 
'''Value:''' keyDown<br/>
 
=== Description ===
 
This event is dispatched when a supported key is pressed. For the list of supported keys, check `KeyCode` class.
 
=== Parameters ===
 
'''keyCode''': (number) code of the key pressed.<br/>
 
 
'''realCode''': (number) real keyCode underneath<br/>
 
'''realCode''': (number) real keyCode underneath<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/>
 +
 +
=== Examples ===
 +
'''Codes for pressed key'''
 +
<syntaxhighlight lang="lua">
 +
function onKeyDown(e)
 +
print(e.keyCode, e.realCode, e.modifiers)
 +
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)
 +
</syntaxhighlight>
 +
'''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}}

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