1 ///////////////////////////////////////////////////////////////////////// 2 // $Id: rfbkeys.h 11701 2013-05-31 16:46:15Z vruppert $ 3 ///////////////////////////////////////////////////////////////////////// 4 // 5 // Copyright (C) 2009-2013 The Bochs Project 6 // 7 // This library is free software; you can redistribute it and/or 8 // modify it under the terms of the GNU Lesser General Public 9 // License as published by the Free Software Foundation; either 10 // version 2 of the License, or (at your option) any later version. 11 // 12 // This library is distributed in the hope that it will be useful, 13 // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 // Lesser General Public License for more details. 16 // 17 // You should have received a copy of the GNU Lesser General Public 18 // License along with this library; if not, write to the Free Software 19 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 ///////////////////////////////////////////////////////////////////////// 21 22 // This file includes the rfb key definitions and keyboard mapping stuff 23 24 #ifdef HAVE_LIBVNCSERVER 25 26 #include <rfb/keysym.h> 27 28 #define XK_Oslash 0x00d8 29 #define XK_ooblique 0x00f8 30 31 #else 32 33 enum { 34 XK_space = 0x020, 35 XK_exclam, 36 XK_quotedbl, 37 XK_numbersign, 38 XK_dollar, 39 XK_percent, 40 XK_ampersand, 41 XK_apostrophe, 42 XK_parenleft, 43 XK_parenright, 44 XK_asterisk, 45 XK_plus, 46 XK_comma, 47 XK_minus, 48 XK_period, 49 XK_slash, 50 XK_0, 51 XK_1, 52 XK_2, 53 XK_3, 54 XK_4, 55 XK_5, 56 XK_6, 57 XK_7, 58 XK_8, 59 XK_9, 60 XK_colon, 61 XK_semicolon, 62 XK_less, 63 XK_equal, 64 XK_greater, 65 XK_question, 66 XK_at, 67 XK_A, 68 XK_B, 69 XK_C, 70 XK_D, 71 XK_E, 72 XK_F, 73 XK_G, 74 XK_H, 75 XK_I, 76 XK_J, 77 XK_K, 78 XK_L, 79 XK_M, 80 XK_N, 81 XK_O, 82 XK_P, 83 XK_Q, 84 XK_R, 85 XK_S, 86 XK_T, 87 XK_U, 88 XK_V, 89 XK_W, 90 XK_X, 91 XK_Y, 92 XK_Z, 93 XK_bracketleft, 94 XK_backslash, 95 XK_bracketright, 96 XK_asciicircum, 97 XK_underscore, 98 XK_grave, 99 XK_a, 100 XK_b, 101 XK_c, 102 XK_d, 103 XK_e, 104 XK_f, 105 XK_g, 106 XK_h, 107 XK_i, 108 XK_j, 109 XK_k, 110 XK_l, 111 XK_m, 112 XK_n, 113 XK_o, 114 XK_p, 115 XK_q, 116 XK_r, 117 XK_s, 118 XK_t, 119 XK_u, 120 XK_v, 121 XK_w, 122 XK_x, 123 XK_y, 124 XK_z, 125 XK_braceleft, 126 XK_bar, 127 XK_braceright, 128 XK_asciitilde 129 }; 130 131 #define XK_nobreakspace 0x00a0 132 #define XK_exclamdown 0x00a1 133 #define XK_cent 0x00a2 134 #define XK_sterling 0x00a3 135 #define XK_currency 0x00a4 136 #define XK_yen 0x00a5 137 #define XK_brokenbar 0x00a6 138 #define XK_section 0x00a7 139 #define XK_diaeresis 0x00a8 140 #define XK_copyright 0x00a9 141 #define XK_ordfeminine 0x00aa 142 #define XK_guillemotleft 0x00ab 143 #define XK_notsign 0x00ac 144 #define XK_hyphen 0x00ad 145 #define XK_registered 0x00ae 146 #define XK_macron 0x00af 147 #define XK_degree 0x00b0 148 #define XK_plusminus 0x00b1 149 #define XK_twosuperior 0x00b2 150 #define XK_threesuperior 0x00b3 151 #define XK_acute 0x00b4 152 #define XK_mu 0x00b5 153 #define XK_paragraph 0x00b6 154 #define XK_periodcentered 0x00b7 155 #define XK_cedilla 0x00b8 156 #define XK_onesuperior 0x00b9 157 #define XK_masculine 0x00ba 158 #define XK_guillemotright 0x00bb 159 #define XK_onequarter 0x00bc 160 #define XK_onehalf 0x00bd 161 #define XK_threequarters 0x00be 162 #define XK_questiondown 0x00bf 163 #define XK_Agrave 0x00c0 164 #define XK_Aacute 0x00c1 165 #define XK_Acircumflex 0x00c2 166 #define XK_Atilde 0x00c3 167 #define XK_Adiaeresis 0x00c4 168 #define XK_Aring 0x00c5 169 #define XK_AE 0x00c6 170 #define XK_Ccedilla 0x00c7 171 #define XK_Egrave 0x00c8 172 #define XK_Eacute 0x00c9 173 #define XK_Ecircumflex 0x00ca 174 #define XK_Ediaeresis 0x00cb 175 #define XK_Igrave 0x00cc 176 #define XK_Iacute 0x00cd 177 #define XK_Icircumflex 0x00ce 178 #define XK_Idiaeresis 0x00cf 179 #define XK_ETH 0x00d0 180 #define XK_Ntilde 0x00d1 181 #define XK_Ograve 0x00d2 182 #define XK_Oacute 0x00d3 183 #define XK_Ocircumflex 0x00d4 184 #define XK_Otilde 0x00d5 185 #define XK_Odiaeresis 0x00d6 186 #define XK_multiply 0x00d7 187 #define XK_Oslash 0x00d8 188 #define XK_Ooblique 0x00d8 189 #define XK_Ugrave 0x00d9 190 #define XK_Uacute 0x00da 191 #define XK_Ucircumflex 0x00db 192 #define XK_Udiaeresis 0x00dc 193 #define XK_Yacute 0x00dd 194 #define XK_THORN 0x00de 195 #define XK_ssharp 0x00df 196 #define XK_agrave 0x00e0 197 #define XK_aacute 0x00e1 198 #define XK_acircumflex 0x00e2 199 #define XK_atilde 0x00e3 200 #define XK_adiaeresis 0x00e4 201 #define XK_aring 0x00e5 202 #define XK_ae 0x00e6 203 #define XK_ccedilla 0x00e7 204 #define XK_egrave 0x00e8 205 #define XK_eacute 0x00e9 206 #define XK_ecircumflex 0x00ea 207 #define XK_ediaeresis 0x00eb 208 #define XK_igrave 0x00ec 209 #define XK_iacute 0x00ed 210 #define XK_icircumflex 0x00ee 211 #define XK_idiaeresis 0x00ef 212 #define XK_eth 0x00f0 213 #define XK_ntilde 0x00f1 214 #define XK_ograve 0x00f2 215 #define XK_oacute 0x00f3 216 #define XK_ocircumflex 0x00f4 217 #define XK_otilde 0x00f5 218 #define XK_odiaeresis 0x00f6 219 #define XK_division 0x00f7 220 #define XK_oslash 0x00f8 221 #define XK_ooblique 0x00f8 222 #define XK_ugrave 0x00f9 223 #define XK_uacute 0x00fa 224 #define XK_ucircumflex 0x00fb 225 #define XK_udiaeresis 0x00fc 226 #define XK_yacute 0x00fd 227 #define XK_thorn 0x00fe 228 #define XK_ydiaeresis 0x00ff 229 230 #define XK_EuroSign 0x20ac 231 232 #define XK_ISO_Level3_Shift 0xFE03 233 #define XK_ISO_Left_Tab 0xFE20 234 235 #define XK_dead_grave 0xFE50 236 #define XK_dead_acute 0xFE51 237 #define XK_dead_circumflex 0xFE52 238 #define XK_dead_tilde 0xFE53 239 240 #define XK_BackSpace 0xFF08 241 #define XK_Tab 0xFF09 242 #define XK_Linefeed 0xFF0A 243 #define XK_Clear 0xFF0B 244 #define XK_Return 0xFF0D 245 #define XK_Pause 0xFF13 246 #define XK_Scroll_Lock 0xFF14 247 #define XK_Sys_Req 0xFF15 248 #define XK_Escape 0xFF1B 249 250 #define XK_Delete 0xFFFF 251 252 #define XK_Home 0xFF50 253 #define XK_Left 0xFF51 254 #define XK_Up 0xFF52 255 #define XK_Right 0xFF53 256 #define XK_Down 0xFF54 257 #define XK_Page_Up 0xFF55 258 #define XK_Page_Down 0xFF56 259 #define XK_End 0xFF57 260 #define XK_Begin 0xFF58 261 262 #define XK_Select 0xFF60 263 #define XK_Print 0xFF61 264 #define XK_Execute 0xFF62 265 #define XK_Insert 0xFF63 266 #define XK_Menu 0xff67 267 #define XK_Cancel 0xFF69 268 #define XK_Help 0xFF6A 269 #define XK_Break 0xFF6B 270 #define XK_Num_Lock 0xFF7F 271 272 #define XK_KP_Space 0xFF80 273 #define XK_KP_Tab 0xFF89 274 #define XK_KP_Enter 0xFF8D 275 276 #define XK_KP_Home 0xFF95 277 #define XK_KP_Left 0xFF96 278 #define XK_KP_Up 0xFF97 279 #define XK_KP_Right 0xFF98 280 #define XK_KP_Down 0xFF99 281 #define XK_KP_Prior 0xFF9A 282 #define XK_KP_Page_Up 0xFF9A 283 #define XK_KP_Next 0xFF9B 284 #define XK_KP_Page_Down 0xFF9B 285 #define XK_KP_End 0xFF9C 286 #define XK_KP_Begin 0xFF9D 287 #define XK_KP_Insert 0xFF9E 288 #define XK_KP_Delete 0xFF9F 289 #define XK_KP_Equal 0xFFBD 290 #define XK_KP_Multiply 0xFFAA 291 #define XK_KP_Add 0xFFAB 292 #define XK_KP_Separator 0xFFAC 293 #define XK_KP_Subtract 0xFFAD 294 #define XK_KP_Decimal 0xFFAE 295 #define XK_KP_Divide 0xFFAF 296 297 #define XK_KP_F1 0xFF91 298 #define XK_KP_F2 0xFF92 299 #define XK_KP_F3 0xFF93 300 #define XK_KP_F4 0xFF94 301 302 #define XK_KP_0 0xFFB0 303 #define XK_KP_1 0xFFB1 304 #define XK_KP_2 0xFFB2 305 #define XK_KP_3 0xFFB3 306 #define XK_KP_4 0xFFB4 307 #define XK_KP_5 0xFFB5 308 #define XK_KP_6 0xFFB6 309 #define XK_KP_7 0xFFB7 310 #define XK_KP_8 0xFFB8 311 #define XK_KP_9 0xFFB9 312 313 #define XK_F1 0xFFBE 314 #define XK_F2 0xFFBF 315 #define XK_F3 0xFFC0 316 #define XK_F4 0xFFC1 317 #define XK_F5 0xFFC2 318 #define XK_F6 0xFFC3 319 #define XK_F7 0xFFC4 320 #define XK_F8 0xFFC5 321 #define XK_F9 0xFFC6 322 #define XK_F10 0xFFC7 323 #define XK_F11 0xFFC8 324 #define XK_F12 0xFFC9 325 326 #define XK_Shift_L 0xFFE1 327 #define XK_Shift_R 0xFFE2 328 #define XK_Control_L 0xFFE3 329 #define XK_Control_R 0xFFE4 330 #define XK_Caps_Lock 0xFFE5 331 #define XK_Shift_Lock 0xFFE6 332 #define XK_Meta_L 0xFFE7 333 #define XK_Meta_R 0xFFE8 334 #define XK_Alt_L 0xFFE9 335 #define XK_Alt_R 0xFFEA 336 #define XK_Super_L 0xFFEB 337 #define XK_Super_R 0xFFEC 338 339 #endif 340 341 /// key mapping for rfb 342 typedef struct { 343 const char *name; 344 Bit32u value; 345 } rfbKeyTabEntry; 346 347 #define DEF_RFB_KEY(key) \ 348 { #key, key }, 349 350 #if defined(HAVE_LIBVNCSERVER) && BX_WITH_RFB && !BX_PLUGINS 351 extern rfbKeyTabEntry rfb_keytable[]; 352 #else 353 rfbKeyTabEntry rfb_keytable[] = { 354 // this include provides all the entries. 355 DEF_RFB_KEY(XK_space) 356 DEF_RFB_KEY(XK_exclam) 357 DEF_RFB_KEY(XK_quotedbl) 358 DEF_RFB_KEY(XK_numbersign) 359 DEF_RFB_KEY(XK_dollar) 360 DEF_RFB_KEY(XK_percent) 361 DEF_RFB_KEY(XK_ampersand) 362 DEF_RFB_KEY(XK_apostrophe) 363 DEF_RFB_KEY(XK_parenleft) 364 DEF_RFB_KEY(XK_parenright) 365 DEF_RFB_KEY(XK_asterisk) 366 DEF_RFB_KEY(XK_plus) 367 DEF_RFB_KEY(XK_comma) 368 DEF_RFB_KEY(XK_minus) 369 DEF_RFB_KEY(XK_period) 370 DEF_RFB_KEY(XK_slash) 371 DEF_RFB_KEY(XK_0) 372 DEF_RFB_KEY(XK_1) 373 DEF_RFB_KEY(XK_2) 374 DEF_RFB_KEY(XK_3) 375 DEF_RFB_KEY(XK_4) 376 DEF_RFB_KEY(XK_5) 377 DEF_RFB_KEY(XK_6) 378 DEF_RFB_KEY(XK_7) 379 DEF_RFB_KEY(XK_8) 380 DEF_RFB_KEY(XK_9) 381 DEF_RFB_KEY(XK_colon) 382 DEF_RFB_KEY(XK_semicolon) 383 DEF_RFB_KEY(XK_less) 384 DEF_RFB_KEY(XK_equal) 385 DEF_RFB_KEY(XK_greater) 386 DEF_RFB_KEY(XK_question) 387 DEF_RFB_KEY(XK_at) 388 DEF_RFB_KEY(XK_A) 389 DEF_RFB_KEY(XK_B) 390 DEF_RFB_KEY(XK_C) 391 DEF_RFB_KEY(XK_D) 392 DEF_RFB_KEY(XK_E) 393 DEF_RFB_KEY(XK_F) 394 DEF_RFB_KEY(XK_G) 395 DEF_RFB_KEY(XK_H) 396 DEF_RFB_KEY(XK_I) 397 DEF_RFB_KEY(XK_J) 398 DEF_RFB_KEY(XK_K) 399 DEF_RFB_KEY(XK_L) 400 DEF_RFB_KEY(XK_M) 401 DEF_RFB_KEY(XK_N) 402 DEF_RFB_KEY(XK_O) 403 DEF_RFB_KEY(XK_P) 404 DEF_RFB_KEY(XK_Q) 405 DEF_RFB_KEY(XK_R) 406 DEF_RFB_KEY(XK_S) 407 DEF_RFB_KEY(XK_T) 408 DEF_RFB_KEY(XK_U) 409 DEF_RFB_KEY(XK_V) 410 DEF_RFB_KEY(XK_W) 411 DEF_RFB_KEY(XK_X) 412 DEF_RFB_KEY(XK_Y) 413 DEF_RFB_KEY(XK_Z) 414 DEF_RFB_KEY(XK_bracketleft) 415 DEF_RFB_KEY(XK_backslash) 416 DEF_RFB_KEY(XK_bracketright) 417 DEF_RFB_KEY(XK_asciicircum) 418 DEF_RFB_KEY(XK_underscore) 419 DEF_RFB_KEY(XK_grave) 420 DEF_RFB_KEY(XK_a) 421 DEF_RFB_KEY(XK_b) 422 DEF_RFB_KEY(XK_c) 423 DEF_RFB_KEY(XK_d) 424 DEF_RFB_KEY(XK_e) 425 DEF_RFB_KEY(XK_f) 426 DEF_RFB_KEY(XK_g) 427 DEF_RFB_KEY(XK_h) 428 DEF_RFB_KEY(XK_i) 429 DEF_RFB_KEY(XK_j) 430 DEF_RFB_KEY(XK_k) 431 DEF_RFB_KEY(XK_l) 432 DEF_RFB_KEY(XK_m) 433 DEF_RFB_KEY(XK_n) 434 DEF_RFB_KEY(XK_o) 435 DEF_RFB_KEY(XK_p) 436 DEF_RFB_KEY(XK_q) 437 DEF_RFB_KEY(XK_r) 438 DEF_RFB_KEY(XK_s) 439 DEF_RFB_KEY(XK_t) 440 DEF_RFB_KEY(XK_u) 441 DEF_RFB_KEY(XK_v) 442 DEF_RFB_KEY(XK_w) 443 DEF_RFB_KEY(XK_x) 444 DEF_RFB_KEY(XK_y) 445 DEF_RFB_KEY(XK_z) 446 DEF_RFB_KEY(XK_braceleft) 447 DEF_RFB_KEY(XK_bar) 448 DEF_RFB_KEY(XK_braceright) 449 DEF_RFB_KEY(XK_asciitilde) 450 DEF_RFB_KEY(XK_nobreakspace) 451 DEF_RFB_KEY(XK_exclamdown) 452 DEF_RFB_KEY(XK_cent) 453 DEF_RFB_KEY(XK_sterling) 454 DEF_RFB_KEY(XK_currency) 455 DEF_RFB_KEY(XK_yen) 456 DEF_RFB_KEY(XK_brokenbar) 457 DEF_RFB_KEY(XK_section) 458 DEF_RFB_KEY(XK_diaeresis) 459 DEF_RFB_KEY(XK_copyright) 460 DEF_RFB_KEY(XK_ordfeminine) 461 DEF_RFB_KEY(XK_guillemotleft) 462 DEF_RFB_KEY(XK_notsign) 463 DEF_RFB_KEY(XK_hyphen) 464 DEF_RFB_KEY(XK_registered) 465 DEF_RFB_KEY(XK_macron) 466 DEF_RFB_KEY(XK_degree) 467 DEF_RFB_KEY(XK_plusminus) 468 DEF_RFB_KEY(XK_twosuperior) 469 DEF_RFB_KEY(XK_threesuperior) 470 DEF_RFB_KEY(XK_acute) 471 DEF_RFB_KEY(XK_mu) 472 DEF_RFB_KEY(XK_paragraph) 473 DEF_RFB_KEY(XK_periodcentered) 474 DEF_RFB_KEY(XK_cedilla) 475 DEF_RFB_KEY(XK_onesuperior) 476 DEF_RFB_KEY(XK_masculine) 477 DEF_RFB_KEY(XK_guillemotright) 478 DEF_RFB_KEY(XK_onequarter) 479 DEF_RFB_KEY(XK_onehalf) 480 DEF_RFB_KEY(XK_threequarters) 481 DEF_RFB_KEY(XK_questiondown) 482 DEF_RFB_KEY(XK_Agrave) 483 DEF_RFB_KEY(XK_Aacute) 484 DEF_RFB_KEY(XK_Acircumflex) 485 DEF_RFB_KEY(XK_Atilde) 486 DEF_RFB_KEY(XK_Adiaeresis) 487 DEF_RFB_KEY(XK_Aring) 488 DEF_RFB_KEY(XK_AE) 489 DEF_RFB_KEY(XK_Ccedilla) 490 DEF_RFB_KEY(XK_Egrave) 491 DEF_RFB_KEY(XK_Eacute) 492 DEF_RFB_KEY(XK_Ecircumflex) 493 DEF_RFB_KEY(XK_Ediaeresis) 494 DEF_RFB_KEY(XK_Igrave) 495 DEF_RFB_KEY(XK_Iacute) 496 DEF_RFB_KEY(XK_Icircumflex) 497 DEF_RFB_KEY(XK_Idiaeresis) 498 DEF_RFB_KEY(XK_ETH) 499 DEF_RFB_KEY(XK_Ntilde) 500 DEF_RFB_KEY(XK_Ograve) 501 DEF_RFB_KEY(XK_Oacute) 502 DEF_RFB_KEY(XK_Ocircumflex) 503 DEF_RFB_KEY(XK_Otilde) 504 DEF_RFB_KEY(XK_Odiaeresis) 505 DEF_RFB_KEY(XK_multiply) 506 DEF_RFB_KEY(XK_Oslash) 507 DEF_RFB_KEY(XK_Ooblique) 508 DEF_RFB_KEY(XK_Ugrave) 509 DEF_RFB_KEY(XK_Uacute) 510 DEF_RFB_KEY(XK_Ucircumflex) 511 DEF_RFB_KEY(XK_Udiaeresis) 512 DEF_RFB_KEY(XK_Yacute) 513 DEF_RFB_KEY(XK_THORN) 514 DEF_RFB_KEY(XK_ssharp) 515 DEF_RFB_KEY(XK_agrave) 516 DEF_RFB_KEY(XK_aacute) 517 DEF_RFB_KEY(XK_acircumflex) 518 DEF_RFB_KEY(XK_atilde) 519 DEF_RFB_KEY(XK_adiaeresis) 520 DEF_RFB_KEY(XK_aring) 521 DEF_RFB_KEY(XK_ae) 522 DEF_RFB_KEY(XK_ccedilla) 523 DEF_RFB_KEY(XK_egrave) 524 DEF_RFB_KEY(XK_eacute) 525 DEF_RFB_KEY(XK_ecircumflex) 526 DEF_RFB_KEY(XK_ediaeresis) 527 DEF_RFB_KEY(XK_igrave) 528 DEF_RFB_KEY(XK_iacute) 529 DEF_RFB_KEY(XK_icircumflex) 530 DEF_RFB_KEY(XK_idiaeresis) 531 DEF_RFB_KEY(XK_eth) 532 DEF_RFB_KEY(XK_ntilde) 533 DEF_RFB_KEY(XK_ograve) 534 DEF_RFB_KEY(XK_oacute) 535 DEF_RFB_KEY(XK_ocircumflex) 536 DEF_RFB_KEY(XK_otilde) 537 DEF_RFB_KEY(XK_odiaeresis) 538 DEF_RFB_KEY(XK_division) 539 DEF_RFB_KEY(XK_oslash) 540 DEF_RFB_KEY(XK_ooblique) 541 DEF_RFB_KEY(XK_ugrave) 542 DEF_RFB_KEY(XK_uacute) 543 DEF_RFB_KEY(XK_ucircumflex) 544 DEF_RFB_KEY(XK_udiaeresis) 545 DEF_RFB_KEY(XK_yacute) 546 DEF_RFB_KEY(XK_thorn) 547 DEF_RFB_KEY(XK_ydiaeresis) 548 DEF_RFB_KEY(XK_EuroSign) 549 DEF_RFB_KEY(XK_ISO_Level3_Shift) 550 DEF_RFB_KEY(XK_ISO_Left_Tab) 551 DEF_RFB_KEY(XK_dead_grave) 552 DEF_RFB_KEY(XK_dead_acute) 553 DEF_RFB_KEY(XK_dead_circumflex) 554 DEF_RFB_KEY(XK_dead_tilde) 555 DEF_RFB_KEY(XK_BackSpace) 556 DEF_RFB_KEY(XK_Tab) 557 DEF_RFB_KEY(XK_Linefeed) 558 DEF_RFB_KEY(XK_Clear) 559 DEF_RFB_KEY(XK_Return) 560 DEF_RFB_KEY(XK_Pause) 561 DEF_RFB_KEY(XK_Scroll_Lock) 562 DEF_RFB_KEY(XK_Sys_Req) 563 DEF_RFB_KEY(XK_Escape) 564 DEF_RFB_KEY(XK_Delete) 565 DEF_RFB_KEY(XK_Home) 566 DEF_RFB_KEY(XK_Left) 567 DEF_RFB_KEY(XK_Up) 568 DEF_RFB_KEY(XK_Right) 569 DEF_RFB_KEY(XK_Down) 570 DEF_RFB_KEY(XK_Page_Up) 571 DEF_RFB_KEY(XK_Page_Down) 572 DEF_RFB_KEY(XK_End) 573 DEF_RFB_KEY(XK_Begin) 574 DEF_RFB_KEY(XK_Select) 575 DEF_RFB_KEY(XK_Print) 576 DEF_RFB_KEY(XK_Execute) 577 DEF_RFB_KEY(XK_Insert) 578 DEF_RFB_KEY(XK_Menu) 579 DEF_RFB_KEY(XK_Cancel) 580 DEF_RFB_KEY(XK_Help) 581 DEF_RFB_KEY(XK_Break) 582 DEF_RFB_KEY(XK_Num_Lock) 583 DEF_RFB_KEY(XK_KP_Space) 584 DEF_RFB_KEY(XK_KP_Tab) 585 DEF_RFB_KEY(XK_KP_Enter) 586 DEF_RFB_KEY(XK_KP_Home) 587 DEF_RFB_KEY(XK_KP_Left) 588 DEF_RFB_KEY(XK_KP_Up) 589 DEF_RFB_KEY(XK_KP_Right) 590 DEF_RFB_KEY(XK_KP_Down) 591 DEF_RFB_KEY(XK_KP_Prior) 592 DEF_RFB_KEY(XK_KP_Page_Up) 593 DEF_RFB_KEY(XK_KP_Next) 594 DEF_RFB_KEY(XK_KP_Page_Down) 595 DEF_RFB_KEY(XK_KP_End) 596 DEF_RFB_KEY(XK_KP_Begin) 597 DEF_RFB_KEY(XK_KP_Insert) 598 DEF_RFB_KEY(XK_KP_Delete) 599 DEF_RFB_KEY(XK_KP_Equal) 600 DEF_RFB_KEY(XK_KP_Multiply) 601 DEF_RFB_KEY(XK_KP_Add) 602 DEF_RFB_KEY(XK_KP_Separator) 603 DEF_RFB_KEY(XK_KP_Subtract) 604 DEF_RFB_KEY(XK_KP_Decimal) 605 DEF_RFB_KEY(XK_KP_Divide) 606 DEF_RFB_KEY(XK_KP_F1) 607 DEF_RFB_KEY(XK_KP_F2) 608 DEF_RFB_KEY(XK_KP_F3) 609 DEF_RFB_KEY(XK_KP_F4) 610 DEF_RFB_KEY(XK_KP_0) 611 DEF_RFB_KEY(XK_KP_1) 612 DEF_RFB_KEY(XK_KP_2) 613 DEF_RFB_KEY(XK_KP_3) 614 DEF_RFB_KEY(XK_KP_4) 615 DEF_RFB_KEY(XK_KP_5) 616 DEF_RFB_KEY(XK_KP_6) 617 DEF_RFB_KEY(XK_KP_7) 618 DEF_RFB_KEY(XK_KP_8) 619 DEF_RFB_KEY(XK_KP_9) 620 DEF_RFB_KEY(XK_F1) 621 DEF_RFB_KEY(XK_F2) 622 DEF_RFB_KEY(XK_F3) 623 DEF_RFB_KEY(XK_F4) 624 DEF_RFB_KEY(XK_F5) 625 DEF_RFB_KEY(XK_F6) 626 DEF_RFB_KEY(XK_F7) 627 DEF_RFB_KEY(XK_F8) 628 DEF_RFB_KEY(XK_F9) 629 DEF_RFB_KEY(XK_F10) 630 DEF_RFB_KEY(XK_F11) 631 DEF_RFB_KEY(XK_F12) 632 DEF_RFB_KEY(XK_Shift_L) 633 DEF_RFB_KEY(XK_Shift_R) 634 DEF_RFB_KEY(XK_Control_L) 635 DEF_RFB_KEY(XK_Control_R) 636 DEF_RFB_KEY(XK_Caps_Lock) 637 DEF_RFB_KEY(XK_Shift_Lock) 638 DEF_RFB_KEY(XK_Meta_L) 639 DEF_RFB_KEY(XK_Meta_R) 640 DEF_RFB_KEY(XK_Alt_L) 641 DEF_RFB_KEY(XK_Alt_R) 642 DEF_RFB_KEY(XK_Super_L) 643 DEF_RFB_KEY(XK_Super_R) 644 // one final entry to mark the end 645 { NULL, 0 } 646 }; 647 #endif 648