VirtualBox

Ignore:
Timestamp:
May 19, 2008 1:11:43 PM (17 years ago)
Author:
vboxsync
Message:

Frontends/VirtualBox and VirtualBox4: experimental - updated the X11 keyboard driver to handle Sun X server keycodes

Location:
trunk/src/VBox/Frontends/VirtualBox/src/linux
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/linux/keyboard-new.c

    r8170 r8916  
    121121      if (   (0xFF != (keysym >> 8))     /* Non-character key */
    122122          && (0x1008FF != (keysym >> 8)) /* XFree86 vendor keys */
     123          && (0x1005FF != (keysym >> 8)) /* Sun keys */
    123124          && (0x20 != keysym)            /* Spacebar */
    124125          && (0xFE03 != keysym)          /* ISO level3 shift, aka AltGr */
     
    263264/* VirtualBox FIX - multimedia/internet keys */
    264265                scan = xfree86_vendor_key_scan[keysym & 0xff];
     266            } else if ((keysym >> 8) == 0x1005FF) { /* Sun keys */
     267                scan = sun_key_scan[keysym & 0xff];
    265268            } else if (keysym == 0x20) {                 /* Spacebar */
    266269                scan = 0x39;
  • trunk/src/VBox/Frontends/VirtualBox/src/linux/keyboard-tables.h

    r8214 r8916  
    7272    0x00, 0x00, 0x00, 0x45, 0x46, 0x00, 0x00, 0x00,              /* FF10 */
    7373    0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,              /* FF18 */
    74     /* additional Japanese keys */
    75     0x00, 0x00, 0x7b, 0x79, 0x00, 0x00, 0x00, 0x70,              /* FF20 */
     74    /* Sun Menu, additional Japanese keys */
     75    0x15d, 0x00, 0x7b, 0x79, 0x00, 0x00, 0x00, 0x70,             /* FF20 */
    7676    0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FF28 */
    7777    /* additional Korean keys */
     
    8686    /* misc keys */
    8787/* VirtualBox FIX */
    88     /*?*/ 0, 0x137, /*?*/ 0, 0x152, 0x00, 0x00, 0x00, 0x15D,     /* FF60 */
    89     /*?*/ 0, /*?*/ 0, 0x38, 0x146, 0x00, 0x00, 0x00, 0x00,       /* FF68 */
     88                                       /* SunUndo SunAgain WinR */
     89    /*?*/ 0, 0x137, /*?*/ 0, 0x152, 0x00, 0x107,  0x105,   0x15D,/* FF60 */
     90 /* SunFind SunStop SunHelp */
     91    0x141,  0x168,  0x175, 0x146, 0x00, 0x00, 0x00, 0x00,        /* FF68 */
    9092    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FF70 */
    9193    /* keypad keys */
     
    168170};
    169171
     172/* VirtualBox FIX */
     173/* This list was put together using /usr/include/X11/Sunkeysym.h and
     174   comparing the scancodes produced by a Sun type 7 USB keyboard.  Note that
     175   Sun call F11 and F12 F36 and F37 respectively, as they already had 35
     176   function keys when those two physical keys were added. */
     177static const unsigned sun_key_scan[256] =
     178{
     179 /* FAGrav, FACirc, FATild, FAAcut, FADiae, FACed */
     180    0,      0,      0,      0,      0,      0, 0, 0,            /* 1005FF00 */
     181    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF08 */
     182 /* SunF36, SunF37 */
     183    0x57,   0x58, 0, 0, 0, 0, 0, 0,                             /* 1005FF10 */
     184    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF18 */
     185    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF20 */
     186    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF28 */
     187    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF30 */
     188    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF38 */
     189    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF40 */
     190    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF48 */
     191    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF50 */
     192    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF58 */
     193 /* SysReq */
     194    0,     0, 0, 0, 0, 0, 0, 0,                                 /* 1005FF60 */
     195    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF68 */
     196 /* Props  Front  Copy   Paste Cut    Power  Vol-   Mute */
     197    0x106, 0x10c, 0x178, 0x65, 0x13c, 0x15e, 0x12e, 0x120,      /* 1005FF70 */
     198 /* Vol+ */
     199    0x130, 0, 0, 0, 0, 0, 0, 0,                                 /* 1005FF78 */
     200    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF80 */
     201    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF88 */
     202    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF90 */
     203    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FF98 */
     204    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FFA0 */
     205    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FFA8 */
     206    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FFB0 */
     207    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FFB8 */
     208    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FFC0 */
     209    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FFC8 */
     210    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FFD0 */
     211    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FFD8 */
     212    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FFE0 */
     213    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FFE8 */
     214    0, 0, 0, 0, 0, 0, 0, 0,                                     /* 1005FFF0 */
     215    0, 0, 0, 0, 0, 0, 0, 0                                      /* 1005FFF8 */
     216};
     217
    170218#endif /* ___VBox_keyboard_tables_h */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette