tuxanci2-sdk
SDK for tuxanci2
Log | Files | Refs | README | LICENSE

keyboard.h (2620B)


      1 #ifndef TA_KEYBOARD_H
      2 #define TA_KEYBOARD_H
      3 
      4 #include <tuxanci2/display.h>
      5 #include <tuxanci2/abi.h>
      6 #include <stdint.h>
      7 #include <stdbool.h>
      8 
      9 typedef enum {
     10 	KEY_NONE = 0,
     11 	KEY_BACKSPACE = 8,
     12 	KEY_TAB = 9,
     13 	KEY_ENTER = 13,
     14 	KEY_ESCAPE = 27,
     15 	KEY_SPACE = 32,
     16 	KEY_EXCLAMATION_MARK = 33,
     17 	KEY_QUOTATION_MARK = 34,
     18 	KEY_HASH = 35,
     19 	KEY_DOLLAR_SIGN = 36,
     20 	KEY_PERCENT_SIGN = 37,
     21 	KEY_AMPERSAND = 38,
     22 	KEY_APOSTROPHE = 39,
     23 	KEY_LEFT_PARENTHESIS = 40,
     24 	KEY_RIGHT_PARENTHESIS = 41,
     25 	KEY_ASTERISK = 42,
     26 	KEY_PLUS = 43,
     27 	KEY_COMMA = 44,
     28 	KEY_MINUS = 45,
     29 	KEY_PERIOD = 46,
     30 	KEY_SLASH = 47,
     31 	KEY_0 = 48,
     32 	KEY_1 = 49,
     33 	KEY_2 = 50,
     34 	KEY_3 = 51,
     35 	KEY_4 = 52,
     36 	KEY_5 = 53,
     37 	KEY_6 = 54,
     38 	KEY_7 = 55,
     39 	KEY_8 = 56,
     40 	KEY_9 = 57,
     41 	KEY_COLON = 58,
     42 	KEY_SEMICOLON = 59,
     43 	KEY_LESS_THAN = 60,
     44 	KEY_EQUALS = 61,
     45 	KEY_GREATER_THAN = 62,
     46 	KEY_QUESTION_MARK = 63,
     47 	KEY_AT_SIGN = 64,
     48 	KEY_A = 97,
     49 	KEY_B = 98,
     50 	KEY_C = 99,
     51 	KEY_D = 100,
     52 	KEY_E = 101,
     53 	KEY_F = 102,
     54 	KEY_G = 103,
     55 	KEY_H = 104,
     56 	KEY_I = 105,
     57 	KEY_J = 106,
     58 	KEY_K = 107,
     59 	KEY_L = 108,
     60 	KEY_M = 109,
     61 	KEY_N = 110,
     62 	KEY_O = 111,
     63 	KEY_P = 112,
     64 	KEY_Q = 113,
     65 	KEY_R = 114,
     66 	KEY_S = 115,
     67 	KEY_T = 116,
     68 	KEY_U = 117,
     69 	KEY_V = 118,
     70 	KEY_W = 119,
     71 	KEY_X = 120,
     72 	KEY_Y = 121,
     73 	KEY_Z = 122,
     74 	KEY_LEFT_BRACKET = 91,
     75 	KEY_BACKSLASH = 92,
     76 	KEY_RIGHT_BRACKET = 93,
     77 	KEY_CARET = 94,
     78 	KEY_UNDERSCORE = 95,
     79 	KEY_GRAVE_ACCENT = 96,
     80 	KEY_LEFT_BRACE = 123,
     81 	KEY_PIPE = 124,
     82 	KEY_RIGHT_BRACE = 125,
     83 	KEY_TILDE = 126,
     84 	KEY_DELETE = 127,
     85 	KEY_UP = 128,
     86 	KEY_DOWN = 129,
     87 	KEY_LEFT = 130,
     88 	KEY_RIGHT = 131,
     89 	KEY_F1 = 132,
     90 	KEY_F2 = 133,
     91 	KEY_F3 = 134,
     92 	KEY_F4 = 135,
     93 	KEY_F5 = 136,
     94 	KEY_F6 = 137,
     95 	KEY_F7 = 138,
     96 	KEY_F8 = 139,
     97 	KEY_F9 = 140,
     98 	KEY_F10 = 141,
     99 	KEY_F11 = 142,
    100 	KEY_F12 = 143,
    101 	KEY_HOME = 144,
    102 	KEY_END = 145,
    103 	KEY_PAGE_UP = 146,
    104 	KEY_PAGE_DOWN = 147,
    105 	KEY_INSERT = 148,
    106 	KEY_CAPS_LOCK = 149,
    107 	KEY_NUM_LOCK = 150,
    108 	KEY_SCROLL_LOCK = 151,
    109 	KEY_PRINT_SCREEN = 152,
    110 	KEY_PAUSE = 153,
    111 	KEY_MENU = 154,
    112 	KEY_LEFT_SHIFT = 155,
    113 	KEY_RIGHT_SHIFT = 156,
    114 	KEY_LEFT_CTRL = 157,
    115 	KEY_RIGHT_CTRL = 158,
    116 	KEY_LEFT_ALT = 159,
    117 	KEY_RIGHT_ALT = 160,
    118 	KEY_LEFT_SUPER = 161,
    119 	KEY_RIGHT_SUPER = 162,
    120 	KEY_KP_0 = 163,
    121 	KEY_KP_1 = 164,
    122 	KEY_KP_2 = 165,
    123 	KEY_KP_3 = 166,
    124 	KEY_KP_4 = 167,
    125 	KEY_KP_5 = 168,
    126 	KEY_KP_6 = 169,
    127 	KEY_KP_7 = 170,
    128 	KEY_KP_8 = 171,
    129 	KEY_KP_9 = 172,
    130 	KEY_KP_DECIMAL = 173,
    131 	KEY_KP_DIVIDE = 174,
    132 	KEY_KP_MULTIPLY = 175,
    133 	KEY_KP_SUBTRACT = 176,
    134 	KEY_KP_ADD = 177,
    135 	KEY_KP_ENTER = 178,
    136 	KEY_KP_EQUALS = 179
    137 } ta_keyboard_keys;
    138 
    139 static inline bool ta_keyboard_is_down(ta_keyboard_keys key) {
    140 	return ta_syscall(TA_SYS_KEYBOARD_IS_DOWN, (uint32_t)key, 0, 0, 0, 0, 0) != 0;
    141 }
    142 
    143 
    144 #endif // TA_KEYBOARD_H