Changeset 22426 in vbox for trunk/src/VBox/Frontends
- Timestamp:
- Aug 24, 2009 8:23:25 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 51411
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/X11
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/X11/keyboard-new.c
r21873 r22426 405 405 unsigned i = 0, found = 0; 406 406 407 keyboard_type hostKB = { 0 }; 408 hostKB.lctrl = XKeysymToKeycode(display, XK_Control_L); 409 hostKB.capslock = XKeysymToKeycode(display, XK_Caps_Lock); 410 hostKB.lshift = XKeysymToKeycode(display, XK_Shift_L); 411 hostKB.tab = XKeysymToKeycode(display, XK_Tab); 412 hostKB.esc = XKeysymToKeycode(display, XK_Escape); 413 hostKB.enter = XKeysymToKeycode(display, XK_Return); 414 hostKB.up = XKeysymToKeycode(display, XK_Up); 415 hostKB.down = XKeysymToKeycode(display, XK_Down); 416 hostKB.left = XKeysymToKeycode(display, XK_Left); 417 hostKB.right = XKeysymToKeycode(display, XK_Right); 418 hostKB.f1 = XKeysymToKeycode(display, XK_F1); 419 hostKB.f2 = XKeysymToKeycode(display, XK_F2); 420 hostKB.f3 = XKeysymToKeycode(display, XK_F3); 421 hostKB.f4 = XKeysymToKeycode(display, XK_F4); 422 hostKB.f5 = XKeysymToKeycode(display, XK_F5); 423 hostKB.f6 = XKeysymToKeycode(display, XK_F6); 424 hostKB.f7 = XKeysymToKeycode(display, XK_F7); 425 hostKB.f8 = XKeysymToKeycode(display, XK_F8); 426 407 427 for (; (main_keyboard_type_list[i].comment != NULL) && (0 == found); ++i) 408 if ( ( ( (XKeysymToKeycode(display, XK_Control_L) == main_keyboard_type_list[i].lctrl) 409 && (XKeysymToKeycode(display, XK_Caps_Lock) == main_keyboard_type_list[i].capslock) 428 { 429 keyboard_type *pType = &main_keyboard_type_list[i]; 430 if ( ( ( (pType->lctrl && (hostKB.lctrl == pType->lctrl)) 431 && (pType->capslock && (hostKB.capslock == pType->capslock)) 410 432 ) 411 || ( ( XKeysymToKeycode(display, XK_Caps_Lock) == main_keyboard_type_list[i].lctrl)412 && ( XKeysymToKeycode(display, XK_Control_L) == main_keyboard_type_list[i].capslock)433 || ( (pType->lctrl && (hostKB.capslock == pType->lctrl)) 434 && (pType->capslock && (hostKB.lctrl == pType->capslock)) 413 435 ) 414 436 ) /* Some people like to switch Capslock and left Ctrl */ 415 && ( XKeysymToKeycode(display, XK_Shift_L) == main_keyboard_type_list[i].lshift)416 && ( XKeysymToKeycode(display, XK_Tab) == main_keyboard_type_list[i].tab)417 && ( XKeysymToKeycode(display, XK_Escape) == main_keyboard_type_list[i].esc)418 && ( XKeysymToKeycode(display, XK_Return) == main_keyboard_type_list[i].enter)419 && ( XKeysymToKeycode(display, XK_Up) == main_keyboard_type_list[i].up)420 && ( XKeysymToKeycode(display, XK_Down) == main_keyboard_type_list[i].down)421 && ( XKeysymToKeycode(display, XK_Left) == main_keyboard_type_list[i].left)422 && ( XKeysymToKeycode(display, XK_Right) == main_keyboard_type_list[i].right)423 && ( XKeysymToKeycode(display, XK_F1) == main_keyboard_type_list[i].f1)424 && ( XKeysymToKeycode(display, XK_F2) == main_keyboard_type_list[i].f2)425 && ( XKeysymToKeycode(display, XK_F3) == main_keyboard_type_list[i].f3)426 && ( XKeysymToKeycode(display, XK_F4) == main_keyboard_type_list[i].f4)427 && ( XKeysymToKeycode(display, XK_F5) == main_keyboard_type_list[i].f5)428 && ( XKeysymToKeycode(display, XK_F6) == main_keyboard_type_list[i].f6)429 && ( XKeysymToKeycode(display, XK_F7) == main_keyboard_type_list[i].f7)430 && ( XKeysymToKeycode(display, XK_F8) == main_keyboard_type_list[i].f8)437 && (pType->lshift && (hostKB.lshift == pType->lshift)) 438 && (pType->tab && (hostKB.tab == pType->tab)) 439 && (pType->esc && (hostKB.esc == pType->esc)) 440 && (pType->enter && (hostKB.enter == pType->enter)) 441 && (pType->up && (hostKB.up == pType->up)) 442 && (pType->down && (hostKB.down == pType->down)) 443 && (pType->left && (hostKB.left == pType->left)) 444 && (pType->right && (hostKB.right == pType->right)) 445 && (pType->f1 && (hostKB.f1 == pType->f1)) 446 && (pType->f2 && (hostKB.f2 == pType->f2)) 447 && (pType->f3 && (hostKB.f3 == pType->f3)) 448 && (pType->f4 && (hostKB.f4 == pType->f4)) 449 && (pType->f5 && (hostKB.f5 == pType->f5)) 450 && (pType->f6 && (hostKB.f6 == pType->f6)) 451 && (pType->f7 && (hostKB.f7 == pType->f7)) 452 && (pType->f8 && (hostKB.f8 == pType->f8)) 431 453 ) 432 454 found = 1; 455 } 433 456 if (found != 0) 434 457 memcpy(keyc2scan, main_keyboard_type_scans[i - 1], KEYC2SCAN_SIZE); -
trunk/src/VBox/Frontends/VirtualBox/src/X11/keyboard-types.h
r13907 r22426 52 52 * laptop keyboards. 53 53 */ 54 static conststruct {54 typedef struct { 55 55 const char *comment; 56 56 unsigned lctrl; … … 72 72 unsigned f7; 73 73 unsigned f8; 74 } main_keyboard_type_list[] = { 74 } keyboard_type; 75 76 static keyboard_type main_keyboard_type_list[] = { 75 77 { "XFree86", 0x25, 0x32, 0x42, 0x17, 0x9, 0x24, 0x62, 0x68, 76 78 0x64, 0x66, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a },
Note:
See TracChangeset
for help on using the changeset viewer.