redream/src/keycode.h

101 lines
1.5 KiB
C

#ifndef KEYCODE_H
#define KEYCODE_H
#include <stdint.h>
/* keyboard input callbacks are passed a key and a value which can represent
either a digital button press, or an analog key / axis movement. the value
is a signed 16-bit value, which for digital buttons is either the KEY_DOWN
or KEY_UP constant, and for analog inputs is in the range of INT16_MIN to
INT16_MAX */
#define KEY_DOWN INT16_MAX
#define KEY_UP 0
enum keycode {
K_UNKNOWN,
K_SPACE = 32,
K_CAPSLOCK = 127,
K_RETURN,
K_ESCAPE,
K_BACKSPACE,
K_TAB,
K_PAGEUP,
K_PAGEDOWN,
K_DELETE,
K_RIGHT,
K_LEFT,
K_DOWN,
K_UP,
K_LCTRL,
K_LSHIFT,
K_LALT,
K_LGUI,
K_RCTRL,
K_RSHIFT,
K_RALT,
K_RGUI,
K_CONSOLE,
K_F1,
K_F2,
K_F3,
K_F4,
K_F5,
K_F6,
K_F7,
K_F8,
K_F9,
K_F10,
K_F11,
K_F12,
K_F13,
K_F14,
K_F15,
K_F16,
K_F17,
K_F18,
K_F19,
K_F20,
K_F21,
K_F22,
K_F23,
K_F24,
K_MOUSE1,
K_MOUSE2,
K_MOUSE3,
K_MOUSE4,
K_MOUSE5,
K_MWHEELUP,
K_MWHEELDOWN,
/* for convenience, these are in the same order as the maple button enum */
K_CONT_C,
K_CONT_B,
K_CONT_A,
K_CONT_START,
K_CONT_DPAD_UP,
K_CONT_DPAD_DOWN,
K_CONT_DPAD_LEFT,
K_CONT_DPAD_RIGHT,
K_CONT_Z,
K_CONT_Y,
K_CONT_X,
K_CONT_D,
K_CONT_DPAD2_UP,
K_CONT_DPAD2_DOWN,
K_CONT_DPAD2_LEFT,
K_CONT_DPAD2_RIGHT,
K_CONT_JOYX,
K_CONT_JOYY,
K_CONT_LTRIG,
K_CONT_RTRIG,
K_NUM_KEYS
};
enum keycode get_key_by_name(const char *keyname);
const char *get_name_by_key(enum keycode keycode);
#endif