openMSX
Namespaces | Enumerations | Functions
Keys.hh File Reference
#include <SDL_stdinc.h>
#include <SDL_keycode.h>
#include <string>
#include <string_view>
Include dependency graph for Keys.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 openmsx::Keys
 

Enumerations

enum  openmsx::Keys::KeyCode {
  openmsx::Keys::K_MASK = 0x1FFFF, openmsx::Keys::K_NONE = K_MASK, openmsx::Keys::K_UNKNOWN = 0, openmsx::Keys::K_BACKSPACE = 8,
  openmsx::Keys::K_TAB = 9, openmsx::Keys::K_CLEAR = 12, openmsx::Keys::K_RETURN = 13, openmsx::Keys::K_PAUSE = 19,
  openmsx::Keys::K_ESCAPE = 27, openmsx::Keys::K_SPACE = ' ', openmsx::Keys::K_EXCLAIM = '!', openmsx::Keys::K_QUOTEDBL = '"',
  openmsx::Keys::K_HASH = '#', openmsx::Keys::K_DOLLAR = '$', openmsx::Keys::K_AMPERSAND = '&', openmsx::Keys::K_QUOTE = '\'',
  openmsx::Keys::K_LEFTPAREN = '(', openmsx::Keys::K_RIGHTPAREN = ')', openmsx::Keys::K_ASTERISK = '*', openmsx::Keys::K_PLUS = '+',
  openmsx::Keys::K_COMMA = ',', openmsx::Keys::K_MINUS = '-', openmsx::Keys::K_PERIOD = '.', openmsx::Keys::K_SLASH = '/',
  openmsx::Keys::K_0 = '0', openmsx::Keys::K_1 = '1', openmsx::Keys::K_2 = '2', openmsx::Keys::K_3 = '3',
  openmsx::Keys::K_4 = '4', openmsx::Keys::K_5 = '5', openmsx::Keys::K_6 = '6', openmsx::Keys::K_7 = '7',
  openmsx::Keys::K_8 = '8', openmsx::Keys::K_9 = '9', openmsx::Keys::K_COLON = ':', openmsx::Keys::K_SEMICOLON = ';',
  openmsx::Keys::K_LESS = '<', openmsx::Keys::K_EQUALS = '=', openmsx::Keys::K_GREATER = '>', openmsx::Keys::K_QUESTION = '?',
  openmsx::Keys::K_AT = '@', openmsx::Keys::K_LEFTBRACKET = '[', openmsx::Keys::K_BACKSLASH = '\\', openmsx::Keys::K_RIGHTBRACKET = ']',
  openmsx::Keys::K_CARET = '^', openmsx::Keys::K_UNDERSCORE = '_', openmsx::Keys::K_BACKQUOTE = '`', openmsx::Keys::K_A = 'a',
  openmsx::Keys::K_B = 'b', openmsx::Keys::K_C = 'c', openmsx::Keys::K_D = 'd', openmsx::Keys::K_E = 'e',
  openmsx::Keys::K_F = 'f', openmsx::Keys::K_G = 'g', openmsx::Keys::K_H = 'h', openmsx::Keys::K_I = 'i',
  openmsx::Keys::K_J = 'j', openmsx::Keys::K_K = 'k', openmsx::Keys::K_L = 'l', openmsx::Keys::K_M = 'm',
  openmsx::Keys::K_N = 'n', openmsx::Keys::K_O = 'o', openmsx::Keys::K_P = 'p', openmsx::Keys::K_Q = 'q',
  openmsx::Keys::K_R = 'r', openmsx::Keys::K_S = 's', openmsx::Keys::K_T = 't', openmsx::Keys::K_U = 'u',
  openmsx::Keys::K_V = 'v', openmsx::Keys::K_W = 'w', openmsx::Keys::K_X = 'x', openmsx::Keys::K_Y = 'y',
  openmsx::Keys::K_Z = 'z', openmsx::Keys::K_DELETE = 127, openmsx::Keys::K_KP0 = 0x100, openmsx::Keys::K_KP1 = 0x101,
  openmsx::Keys::K_KP2 = 0x102, openmsx::Keys::K_KP3 = 0x103, openmsx::Keys::K_KP4 = 0x104, openmsx::Keys::K_KP5 = 0x105,
  openmsx::Keys::K_KP6 = 0x106, openmsx::Keys::K_KP7 = 0x107, openmsx::Keys::K_KP8 = 0x108, openmsx::Keys::K_KP9 = 0x109,
  openmsx::Keys::K_KP_PERIOD = 0x10A, openmsx::Keys::K_KP_DIVIDE = 0x10B, openmsx::Keys::K_KP_MULTIPLY = 0x10C, openmsx::Keys::K_KP_MINUS = 0x10D,
  openmsx::Keys::K_KP_PLUS = 0x10E, openmsx::Keys::K_KP_ENTER = 0x10F, openmsx::Keys::K_KP_EQUALS = 0x110, openmsx::Keys::K_UP = 0x111,
  openmsx::Keys::K_DOWN = 0x112, openmsx::Keys::K_RIGHT = 0x113, openmsx::Keys::K_LEFT = 0x114, openmsx::Keys::K_INSERT = 0x115,
  openmsx::Keys::K_HOME = 0x116, openmsx::Keys::K_END = 0x117, openmsx::Keys::K_PAGEUP = 0x118, openmsx::Keys::K_PAGEDOWN = 0x119,
  openmsx::Keys::K_F1 = 0x11A, openmsx::Keys::K_F2 = 0x11B, openmsx::Keys::K_F3 = 0x11C, openmsx::Keys::K_F4 = 0x11D,
  openmsx::Keys::K_F5 = 0x11E, openmsx::Keys::K_F6 = 0x11F, openmsx::Keys::K_F7 = 0x120, openmsx::Keys::K_F8 = 0x121,
  openmsx::Keys::K_F9 = 0x122, openmsx::Keys::K_F10 = 0x123, openmsx::Keys::K_F11 = 0x124, openmsx::Keys::K_F12 = 0x125,
  openmsx::Keys::K_F13 = 0x126, openmsx::Keys::K_F14 = 0x127, openmsx::Keys::K_F15 = 0x128, openmsx::Keys::K_F16 = 0x129,
  openmsx::Keys::K_F17 = 0x12A, openmsx::Keys::K_F18 = 0x12B, openmsx::Keys::K_F19 = 0x144, openmsx::Keys::K_F20 = 0x145,
  openmsx::Keys::K_F21 = 0x146, openmsx::Keys::K_F22 = 0x147, openmsx::Keys::K_F23 = 0x148, openmsx::Keys::K_F24 = 0x149,
  openmsx::Keys::K_NUMLOCK = 0x12C, openmsx::Keys::K_CAPSLOCK = 0x12D, openmsx::Keys::K_SCROLLLOCK = 0x12E, openmsx::Keys::K_RSHIFT = 0x12F,
  openmsx::Keys::K_LSHIFT = 0x130, openmsx::Keys::K_RCTRL = 0x131, openmsx::Keys::K_LCTRL = 0x132, openmsx::Keys::K_RALT = 0x133,
  openmsx::Keys::K_LALT = 0x134, openmsx::Keys::K_LSUPER = 0x137, openmsx::Keys::K_RSUPER = 0x138, openmsx::Keys::K_MODE = 0x139,
  openmsx::Keys::K_HELP = 0x13B, openmsx::Keys::K_PRINT = 0x13C, openmsx::Keys::K_SYSREQ = 0x13D, openmsx::Keys::K_MENU = 0x13F,
  openmsx::Keys::K_POWER = 0x140, openmsx::Keys::K_UNDO = 0x142, openmsx::Keys::K_BACK = 0x143, openmsx::Keys::K_ZENKAKU_HENKAKU = 0x10000,
  openmsx::Keys::K_MUHENKAN = 0x10001, openmsx::Keys::K_HENKAN_MODE = 0x10002, openmsx::Keys::K_HIRAGANA_KATAKANA = 0x10003, openmsx::Keys::KM_SHIFT = 0x020000,
  openmsx::Keys::KM_CTRL = 0x040000, openmsx::Keys::KM_ALT = 0x080000, openmsx::Keys::KM_META = 0x100000, openmsx::Keys::KM_MODE = 0x200000,
  openmsx::Keys::KD_PRESS = 0, openmsx::Keys::KD_RELEASE = 0x400000
}
 Constants that identify keys and key modifiers. More...
 

Functions

KeyCode openmsx::Keys::getCode (std::string_view name)
 Translate key name to key code. More...
 
KeyCode openmsx::Keys::getCode (SDL_Keycode key, Uint16 mod, SDL_Scancode scancode, bool release)
 
string openmsx::Keys::getName (KeyCode keyCode)
 Translate key code to key name. More...
 
KeyCode openmsx::Keys::combine (KeyCode key, KeyCode modifier)
 Convenience method to create key combinations (hides ugly casts). More...