Difference between revisions of "Event.KEY DOWN"
From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>")  | 
				|||
| (5 intermediate revisions by the same user not shown) | |||
| Line 5: | Line 5: | ||
=== Description ===  | === Description ===  | ||
| − | This event is dispatched when a supported key is pressed.   | + | This event is dispatched when a supported key is pressed. List of supported keys '''[[KeyCode Constants]]'''.  | 
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
=== 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,   | + | '''modifiers''': (number) modifiers present:<br/>  | 
| + |    no key modifier, '''KeyCode.MODIFIER_NONE''', '''0'''<br/>  | ||
| + |    ''SHIFT'' key modifier, '''KeyCode.MODIFIER_SHIFT''', '''1'''<br/>  | ||
| + |    ''LEFT ALT'' modifier, '''KeyCode.MODIFIER_ALT''', '''2'''<br/>  | ||
| + |    ''CONTROL'' modifier, '''KeyCode.MODIFIER_CTRL''', '''4'''<br/>  | ||
| + |    ''RIGHT ALT'' modifier, '''KeyCode.MODIFIER_ALT''', '''6'''<br/>  | ||
| + |    ''META'' modifier, '''KeyCode.MODIFIER_META''', '''8'''<br/>  | ||
| − | ===   | + | === 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)  | ||
</syntaxhighlight>  | </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 04: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
- Sprite:addChild
 - Sprite:addChildAt
 - Sprite:addChildrenAt
 - Sprite:clearBlendMode
 - Sprite:clone
 - Sprite:contains
 - Sprite:get
 - Sprite:getAlpha
 - Sprite:getAnchorPoint
 - Sprite:getAnchorPosition
 - Sprite:getBounds
 - Sprite:getChildAt
 - Sprite:getChildIndex
 - Sprite:getChildrenAtPoint
 - Sprite:getClip
 - Sprite:getColorTransform
 - Sprite:getDrawCount
 - Sprite:getHeight
 - Sprite:getLayoutConstraints
 - Sprite:getLayoutInfo
 - Sprite:getLayoutParameters
 - Sprite:getMatrix
 - Sprite:getNumChildren
 - Sprite:getParent
 - Sprite:getPosition
 - Sprite:getRotation
 - Sprite:getRotationX
 - Sprite:getRotationY
 - Sprite:getScale
 - Sprite:getScaleX
 - Sprite:getScaleY
 - Sprite:getScaleZ
 - Sprite:getSize
 - Sprite:getSkew
 - Sprite:getSkewX
 - Sprite:getSkewY
 - Sprite:getWidth
 - Sprite:getX
 - Sprite:getY
 - Sprite:getZ
 - Sprite:globalToLocal
 - Sprite:hitTestPoint
 - Sprite:isOnStage
 - Sprite:isVisible
 - Sprite:localToGlobal
 - Sprite:redrawEffects
 - Sprite:removeChild
 - Sprite:removeChildAt
 - Sprite:removeFromParent
 - Sprite:resolveStyle
 - Sprite:set
 - Sprite:setAlpha
 - Sprite:setAnchorPoint
 - Sprite:setAnchorPosition
 - Sprite:setBlendMode
 - Sprite:setClip
 - Sprite:setColorTransform
 - Sprite:setEffectConstant
 - Sprite:setEffectStack
 - Sprite:setGhosts
 - Sprite:setHiddenChildren
 - Sprite:setLayoutConstraints
 - Sprite:setLayoutParameters
 - Sprite:setMatrix
 - Sprite:setPosition
 - Sprite:setRotation
 - Sprite:setRotationX
 - Sprite:setRotationY
 - Sprite:setScale
 - Sprite:setScaleX
 - Sprite:setScaleY
 - Sprite:setScaleZ
 - Sprite:setShader
 - Sprite:setShaderConstant
 - Sprite:setSkew
 - Sprite:setSkewX
 - Sprite:setSkewY
 - Sprite:setStencilOperation
 - Sprite:setStopEventPropagation
 - Sprite:setStyle
 - Sprite:setVisible
 - Sprite:setWorldAlign
 - Sprite:setX
 - Sprite:setY
 - Sprite:setZ
 - Sprite:spriteToLocal
 - Sprite:spriteToLocalMatrix
 - Sprite:swapChildren
 - Sprite:swapChildrenAt
 - Sprite:updateStyle
 
- Sprite.ADD
 - Sprite.ALPHA
 - Sprite.EFFECT MODE AUTOMATIC
 - Sprite.EFFECT MODE CONTINUOUS
 - Sprite.EFFECT MODE TRIGGERED
 - Sprite.LAYOUT ANCHOR CENTER
 - Sprite.LAYOUT ANCHOR EAST
 - Sprite.LAYOUT ANCHOR NORTH
 - Sprite.LAYOUT ANCHOR NORTHEAST
 - Sprite.LAYOUT ANCHOR NORTHWEST
 - Sprite.LAYOUT ANCHOR SOUTH
 - Sprite.LAYOUT ANCHOR SOUTHEAST
 - Sprite.LAYOUT ANCHOR SOUTHWEST
 - Sprite.LAYOUT ANCHOR WEST
 - Sprite.LAYOUT FILL BOTH
 - Sprite.LAYOUT FILL HORIZONTAL
 - Sprite.LAYOUT FILL NONE
 - Sprite.LAYOUT FILL VERTICAL
 - Sprite.MULTIPLY
 - Sprite.NO ALPHA
 - Sprite.SCREEN
 - Sprite.new
 
- Event.ADDED_TO_STAGE
 - Event.ENTER_FRAME
 - Event.KEY_CHAR
 - Event.KEY_DOWN
 - Event.KEY_UP
 - Event.LAYOUT_RESIZED
 - Event.MOUSE_DOWN
 - Event.MOUSE_ENTER
 - Event.MOUSE_HOVER
 - Event.MOUSE_LEAVE
 - Event.MOUSE_MOVE
 - Event.MOUSE_UP
 - Event.MOUSE_WHEEL
 - Event.REMOVED_FROM_STAGE
 - Event.TOUCHES_BEGIN
 - Event.TOUCHES_CANCEL
 - Event.TOUCHES_END
 - Event.TOUCHES_MOVE