Callback function triggered when a key is pressed.

== Function ==
{{newin|[[0.10.0]]|100|type=variant}}
=== Synopsis ===
<source lang="lua">
love.keypressed( key, scancode, isrepeat )
</source>
=== Arguments ===
{{param|KeyConstant|key|Character of the pressed key.}}
{{param|Scancode|scancode|The scancode representing the pressed key.}}
{{param|boolean|isrepeat|Whether this keypress event is a repeat. The delay between key repeats depends on the user's system settings.}}
=== Returns ===
Nothing.
=== Notes ===
[[Scancode]]s are keyboard layout-independent, so the scancode "w" will be generated if the key in the same place as the "w" key on an [https://en.wikipedia.org/wiki/British_and_American_keyboards#/media/File:KB_United_States-NoAltGr.svg American keyboard] is pressed, no matter what the key is labelled or what the user's operating system settings are.

Key repeat needs to be enabled with [[love.keyboard.setKeyRepeat]] for repeat keypress events to be received. This does not affect [[love.textinput]].

== Function ==
{{newinoldin|[[0.9.0]]|090|[[0.10.0]]|100|type=variant}}
=== Synopsis ===
<source lang="lua">
love.keypressed( key, isrepeat )
</source>
=== Arguments ===
{{param|KeyConstant|key|Character of the key pressed.}}
{{param|boolean|isrepeat|Whether this keypress event is a repeat. The delay between key repeats depends on the user's system settings.}}
=== Returns ===
Nothing.
=== Notes ===
Key repeat needs to be enabled with [[love.keyboard.setKeyRepeat]] for repeat keypress events to be received.

== Function ==
{{oldin|[[0.9.0]]|090|type=variant|text=Unicode text input is now handled separately via [[love.textinput]]}}
=== Synopsis ===
<source lang="lua">
love.keypressed( key, unicode )
</source>
=== Arguments ===
{{param|KeyConstant|key|Character of the key pressed.}}
{{param|number|unicode|The unicode number of the key pressed.}}
=== Returns ===
Nothing.
== Examples ==
Exit the game when the player presses the Escape key, using [[love.event.quit]]. 
<source lang="lua">
function love.keypressed(key, scancode, isrepeat)
   if key == "escape" then
      love.event.quit()
   end
end
</source>

{{oldin|[[0.9.0]]|090|type=example|text=Text input is now handled separately via [[love.textinput]]}}
Record and print text the user writes (0.8.0 and below.)
<source lang="lua">
function love.load()
    text = "Type away! -- "
end

function love.keypressed(key, unicode)
    -- ignore non-printable characters (see http://www.ascii-code.com/)
    if unicode > 31 and unicode < 127 then
        text = text .. string.char(unicode)
    end
end

function love.draw()
    love.graphics.printf(text, 0, 0, 800)
end
</source>

== See Also ==
* [[parent::love]]
* [[love.keyreleased]] 
* [[love.keyboard.isDown]]
* [[love.keyboard.isScancodeDown]]
* [[love.textinput]]
[[Category:Callbacks]]
{{#set:Description=Callback function triggered when a key is pressed.}}
{{#set:Subcategory=Keyboard}}
{{#set:Since=000}}

== Other Languages ==
{{i18n|love.keypressed}}