Difference between revisions of "Event.KEY DOWN"

From GiderosMobile
 
(18 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
<languages />
+
'''Available since:''' Gideros 2011.6<br/>
'''<translate>Available since</translate>:''' Gideros 2011.6<br/>
+
'''Value:''' keyDown<br/>
'''<translate>Value</translate>:''' keyDown<br/>
+
'''Defined by:''' [[Sprite]]<br/>
'''<translate>Defined by</translate>:''' [[Special:MyLanguage/Controller|Controller]]<br/>
+
 
=== <translate>Descriptio</translate>n ===
+
=== Description ===
<translate>Button on controller was pushed down</translate>
+
This event is dispatched when a supported key is pressed. List of supported keys '''[[KeyCode Constants]]'''.
=== <translate>Parameters</translate> ===
+
 
'''playerId''': (number) <translate>id of controller/player that pressed the button</translate><br/>
+
=== Parameters ===
'''keyCode''': (number) <translate>button key code that was pressed</translate><br/>
+
'''type''': (String) '''keyDown'''<br/>
__NOTOC__
+
'''keyCode''': (number) code of the key pressed<br/>
<languages />
+
'''realCode''': (number) real keyCode underneath<br/>
'''<translate>Available since</translate>:''' Gideros 2011.6<br/>
+
'''modifiers''': (number) modifiers present:<br/>
'''<translate>Value</translate>:''' keyDown<br/>
+
&nbsp;&nbsp; no key modifier, '''KeyCode.MODIFIER_NONE''', '''0'''<br/>
'''<translate>Defined by</translate>:''' [[Special:MyLanguage/Sprite|Sprite]]<br/>
+
&nbsp;&nbsp; ''SHIFT'' key modifier, '''KeyCode.MODIFIER_SHIFT''', '''1'''<br/>
=== <translate>Descriptio</translate>n ===
+
&nbsp;&nbsp; ''LEFT ALT'' modifier, '''KeyCode.MODIFIER_ALT''', '''2'''<br/>
<translate>This event is dispatched when a supported key is pressed. For the list of supported keys, check [[Special:MyLanguage/KeyCode|KeyCode]] class.</translate>
+
&nbsp;&nbsp; ''CONTROL'' modifier, '''KeyCode.MODIFIER_CTRL''', '''4'''<br/>
=== <translate>Parameters</translate> ===
+
&nbsp;&nbsp; ''RIGHT ALT'' modifier, '''KeyCode.MODIFIER_ALT''', '''6'''<br/>
'''keyCode''': (number) <translate>code of the key pressed.</translate><br/>
+
&nbsp;&nbsp; ''META'' modifier, '''KeyCode.MODIFIER_META''', '''8'''<br/>
'''realCode''': (number) <translate>real keyCode underneath</translate><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}}
 
{{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