VirtualBox

Changeset 11116 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Aug 4, 2008 5:17:08 PM (16 years ago)
Author:
vboxsync
Message:

FE/Qt: add support for Ctrl+Caps reversed keyboards

Location:
trunk/src/VBox/Frontends
Files:
4 edited

Legend:

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

    r10322 r11116  
    364364    }
    365365    LOG_KB_1(("Finished mapping keyboard, matches=%d, entries=%d\n", matches, entries));
    366 #if 0 /* This can happen in a few situations, like a 101-key keyboard matched
    367        * with a 102-key map.  Usually harmless, and if it isn't we will have
    368        * to investigate in more detail than a layout dump will bring anyway. */
    369366    if (matches != entries)
    370367    {
    371368        return 0;
    372369    }
    373 #endif
    374370    return 1;
    375371}
  • trunk/src/VBox/Frontends/VirtualBox/src/linux/keyboard-types.h

    r9991 r11116  
    6666    { "PC Keyboard", 0x25, 0x32, 0x42, 0x17, 0x9, 0x24, 0x62, 0x68,
    6767      0x64, 0x66, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a },
     68    { "PC keyboard with Ctrl/Caps reversed", 0x42, 0x32, 0x25, 0x17,
     69      0x9, 0x24, 0x62, 0x68, 0x64, 0x66, 0x43, 0x44, 0x45, 0x46, 0x47,
     70      0x48, 0x49, 0x4a },
    6871    { NULL, 0 } /* Sentinal */
    6972};
    7073
    7174unsigned main_keyboard_type_scans[][256] = {
     75    /* Standard PC keyboard */
    7276    { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
    7377      0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
     
    8791      0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
    8892    },
     93    /* Standard PC keyboard with Ctrl and Caps lock reversed */
     94    { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
     95      0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
     96      0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x3a, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
     97      0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
     98      0x38, 0x39, 0x1d, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x145, 0x46, 0x47,
     99      0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x0, 0x138, 0x56, 0x57,
     100      0x58, 0x147, 0x148, 0x149, 0x14b, 0x0, 0x14d, 0x14f, 0x150, 0x151, 0x152, 0x153, 0x11c, 0x11d, 0x45, 0x137,
     101      0x135, 0x138, 0x0, 0x15b, 0x15c, 0x15d, 0x13c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x138, 0x0, 0x0, 0x0,
     102      0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     103      0x110, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x119, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     104      0x120, 0x0, 0x122, 0x0, 0x124, 0x15f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12e, 0x0,
     105      0x130, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     106      0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     107      0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     108      0x0, 0x0, 0x0, 0x0, 0x0, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16a, 0x16b, 0x16c, 0x16d, 0x0, 0x0,
     109      0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
     110    },
    89111    { 0 } /* Sentinal */
    90112};
  • trunk/src/VBox/Frontends/VirtualBox4/src/linux/keyboard-new.c

    r10322 r11116  
    364364    }
    365365    LOG_KB_1(("Finished mapping keyboard, matches=%d, entries=%d\n", matches, entries));
    366 #if 0 /* This can happen in a few situations, like a 101-key keyboard matched
    367        * with a 102-key map.  Usually harmless, and if it isn't we will have
    368        * to investigate in more detail than a layout dump will bring anyway. */
    369366    if (matches != entries)
    370367    {
    371368        return 0;
    372369    }
    373 #endif
    374370    return 1;
    375371}
  • trunk/src/VBox/Frontends/VirtualBox4/src/linux/keyboard-types.h

    r9991 r11116  
    6666    { "PC Keyboard", 0x25, 0x32, 0x42, 0x17, 0x9, 0x24, 0x62, 0x68,
    6767      0x64, 0x66, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a },
     68    { "PC keyboard with Ctrl/Caps reversed", 0x42, 0x32, 0x25, 0x17,
     69      0x9, 0x24, 0x62, 0x68, 0x64, 0x66, 0x43, 0x44, 0x45, 0x46, 0x47,
     70      0x48, 0x49, 0x4a },
    6871    { NULL, 0 } /* Sentinal */
    6972};
    7073
    7174unsigned main_keyboard_type_scans[][256] = {
     75    /* Standard PC keyboard */
    7276    { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
    7377      0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
     
    8791      0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
    8892    },
     93    /* Standard PC keyboard with Ctrl and Caps lock reversed */
     94    { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
     95      0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
     96      0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x3a, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
     97      0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
     98      0x38, 0x39, 0x1d, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x145, 0x46, 0x47,
     99      0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x0, 0x138, 0x56, 0x57,
     100      0x58, 0x147, 0x148, 0x149, 0x14b, 0x0, 0x14d, 0x14f, 0x150, 0x151, 0x152, 0x153, 0x11c, 0x11d, 0x45, 0x137,
     101      0x135, 0x138, 0x0, 0x15b, 0x15c, 0x15d, 0x13c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x138, 0x0, 0x0, 0x0,
     102      0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     103      0x110, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x119, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     104      0x120, 0x0, 0x122, 0x0, 0x124, 0x15f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12e, 0x0,
     105      0x130, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     106      0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     107      0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     108      0x0, 0x0, 0x0, 0x0, 0x0, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16a, 0x16b, 0x16c, 0x16d, 0x0, 0x0,
     109      0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
     110    },
    89111    { 0 } /* Sentinal */
    90112};
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