Skip to content

Events and keys

Keyboard input

Keydown

if you need keyboard input, then use this if statement with your own key (see key tab for all key names):

if fusion.key_down(fusion.KEY_A):
    print("Key A pressed")

Or you can do it this way:

if fusion.Key(fusion.KEY_A).key_down():
    print("Key A pressed")

Keydown once

If you need keydown to be only once, then you use this:

if fusion.key_down_once(fusion.KEY_A):
    print("Key A pressed")

Or you can do it this way:

if fusion.Key(fusion.KEY_A).key_down_once():
    print("Key A pressed")

Keys

We use Pygame for this, here are our key bindings to the pygame keys:

  KEY_UNKNOWN = pg.K_UNKNOWN
  KEY_RETURN = pg.K_RETURN
  KEY_ESCAPE = pg.K_ESCAPE
  KEY_BACKSPACE = pg.K_BACKSPACE
  KEY_TAB = pg.K_TAB
  KEY_SPACE = pg.K_SPACE
  KEY_EXCLAIM = pg.K_EXCLAIM
  KEY_QUOTEDBL = pg.K_QUOTEDBL
  KEY_HASH = pg.K_HASH
  KEY_PERCENT = pg.K_PERCENT
  KEY_DOLLAR = pg.K_DOLLAR
  KEY_AMPERSAND = pg.K_AMPERSAND
  KEY_QUOTE = pg.K_QUOTE
  KEY_LEFTPAREN = pg.K_LEFTPAREN
  KEY_RIGHTPAREN = pg.K_RIGHTPAREN
  KEY_ASTERISK = pg.K_ASTERISK
  KEY_PLUS = pg.K_PLUS
  KEY_COMMA = pg.K_COMMA
  KEY_MINUS = pg.K_MINUS
  KEY_PERIOD = pg.K_PERIOD
  KEY_SLASH = pg.K_SLASH

  KEY_0 = pg.K_0
  KEY_1 = pg.K_1
  KEY_2 = pg.K_2
  KEY_3 = pg.K_3
  KEY_4 = pg.K_4
  KEY_5 = pg.K_5
  KEY_6 = pg.K_6
  KEY_7 = pg.K_7
  KEY_8 = pg.K_8
  KEY_9 = pg.K_9

  KEY_COLON = pg.K_COLON
  KEY_SEMICOLON = pg.K_SEMICOLON
  KEY_LESS = pg.K_LESS
  KEY_EQUALS = pg.K_EQUALS
  KEY_GREATER = pg.K_GREATER
  KEY_QUESTION = pg.K_QUESTION
  KEY_AT = pg.K_AT
  KEY_LEFTBRACKET = pg.K_LEFTBRACKET
  KEY_BACKSLASH = pg.K_BACKSLASH
  KEY_RIGHTBRACKET = pg.K_RIGHTBRACKET
  KEY_CARET = pg.K_CARET
  KEY_UNDERSCORE = pg.K_UNDERSCORE
  KEY_BACKQUOTE = pg.K_BACKQUOTE

  KEY_a = pg.K_a
  KEY_b = pg.K_b
  KEY_c = pg.K_c
  KEY_d = pg.K_d
  KEY_e = pg.K_e
  KEY_f = pg.K_f
  KEY_g = pg.K_g
  KEY_h = pg.K_h
  KEY_i = pg.K_i
  KEY_j = pg.K_j
  KEY_k = pg.K_k
  KEY_l = pg.K_l
  KEY_m = pg.K_m
  KEY_n = pg.K_n
  KEY_o = pg.K_o
  KEY_p = pg.K_p
  KEY_q = pg.K_q
  KEY_r = pg.K_r
  KEY_s = pg.K_s
  KEY_t = pg.K_t
  KEY_u = pg.K_u
  KEY_v = pg.K_v
  KEY_w = pg.K_w
  KEY_x = pg.K_x
  KEY_y = pg.K_y
  KEY_z = pg.K_z

  KEY_A = pg.K_a
  KEY_B = pg.K_b
  KEY_C = pg.K_c
  KEY_D = pg.K_d
  KEY_E = pg.K_e
  KEY_F = pg.K_f
  KEY_G = pg.K_g
  KEY_H = pg.K_h
  KEY_I = pg.K_i
  KEY_J = pg.K_j
  KEY_K = pg.K_k
  KEY_L = pg.K_l
  KEY_M = pg.K_m
  KEY_N = pg.K_n
  KEY_O = pg.K_o
  KEY_P = pg.K_p
  KEY_Q = pg.K_q
  KEY_R = pg.K_r
  KEY_S = pg.K_s
  KEY_T = pg.K_t
  KEY_U = pg.K_u
  KEY_V = pg.K_v
  KEY_W = pg.K_w
  KEY_X = pg.K_x
  KEY_Y = pg.K_y
  KEY_Z = pg.K_z

  KEY_CAPSLOCK = pg.K_CAPSLOCK

  KEY_F1 = pg.K_F1
  KEY_F2 = pg.K_F2
  KEY_F3 = pg.K_F3
  KEY_F4 = pg.K_F4
  KEY_F5 = pg.K_F5
  KEY_F6 = pg.K_F6
  KEY_F7 = pg.K_F7
  KEY_F8 = pg.K_F8
  KEY_F9 = pg.K_F9
  KEY_F10 = pg.K_F10
  KEY_F11 = pg.K_F11
  KEY_F12 = pg.K_F12
  KEY_F13 = pg.K_F13
  KEY_F14 = pg.K_F14
  KEY_F15 = pg.K_F15

  KEY_PRINTSCREEN = pg.K_PRINT
  KEY_SCROLLLOCK = pg.K_SCROLLLOCK
  KEY_PAUSE = pg.K_PAUSE
  KEY_INSERT = pg.K_INSERT
  KEY_HOME = pg.K_HOME
  KEY_PAGEUP = pg.K_PAGEUP
  KEY_DELETE = pg.K_DELETE
  KEY_END = pg.K_END
  KEY_PAGEDOWN = pg.K_PAGEDOWN
  KEY_RIGHT = pg.K_RIGHT
  KEY_LEFT = pg.K_LEFT
  KEY_DOWN = pg.K_DOWN
  KEY_UP = pg.K_UP
  KEY_NUMLOCKCLEAR = pg.K_NUMLOCK
  KEY_KP_DIVIDE = pg.K_KP_DIVIDE
  KEY_KP_MULTIPLY = pg.K_KP_MULTIPLY
  KEY_KP_MINUS = pg.K_KP_MINUS
  KEY_KP_PLUS = pg.K_KP_PLUS
  KEY_KP_ENTER = pg.K_KP_ENTER

  KEY_KP_1 = pg.K_KP1
  KEY_KP_2 = pg.K_KP2
  KEY_KP_3 = pg.K_KP3
  KEY_KP_4 = pg.K_KP4
  KEY_KP_5 = pg.K_KP5
  KEY_KP_6 = pg.K_KP6
  KEY_KP_7 = pg.K_KP7
  KEY_KP_8 = pg.K_KP8
  KEY_KP_9 = pg.K_KP9
  KEY_KP_0 = pg.K_KP0

  KEY_KP_PERIOD = pg.K_KP_PERIOD
  KEY_POWER = pg.K_POWER
  KEY_KP_EQUALS = pg.K_KP_EQUALS
  KEY_HELP = pg.K_HELP
  KEY_MENU = pg.K_MENU
  KEY_SYSREQ = pg.K_SYSREQ
  KEY_CLEAR = pg.K_CLEAR
  KEY_CURRENCYUNIT = pg.K_CURRENCYUNIT
  KEY_CURRENCYSUBUNIT = pg.K_CURRENCYSUBUNIT
  KEY_LCTRL = pg.K_LCTRL
  KEY_LSHIFT = pg.K_LSHIFT
  KEY_LALT = pg.K_LALT
  KEY_LGUI = pg.K_LMETA
  KEY_RCTRL = pg.K_RCTRL
  KEY_RSHIFT = pg.K_RSHIFT
  KEY_RALT = pg.K_RALT
  KEY_RGUI = pg.K_RMETA
  KEY_MODE = pg.K_MODE
  KEY_AC_BACK = pg.K_AC_BACK