aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivers/usb/usbkbd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/usb/usbkbd.c')
-rw-r--r--src/drivers/usb/usbkbd.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/drivers/usb/usbkbd.c b/src/drivers/usb/usbkbd.c
index ba4b2d4d7..6954cd69b 100644
--- a/src/drivers/usb/usbkbd.c
+++ b/src/drivers/usb/usbkbd.c
@@ -114,13 +114,19 @@ static unsigned int usbkbd_map ( unsigned int keycode, unsigned int modifiers,
};
key = keypad[ keycode - USBKBD_KEY_PAD_1 ];
};
+ } else if ( keycode == USBKBD_KEY_NON_US ) {
+ /* Non-US \ and | */
+ key = ( ( modifiers & USBKBD_SHIFT ) ?
+ ( KEYMAP_PSEUDO | '|' ) : ( KEYMAP_PSEUDO | '\\' ) );
} else {
key = 0;
}
/* Remap key if applicable */
- if ( keycode < USBKBD_KEY_CAPS_LOCK )
+ if ( ( keycode < USBKBD_KEY_CAPS_LOCK ) ||
+ ( keycode == USBKBD_KEY_NON_US ) ) {
key = key_remap ( key );
+ }
/* Handle upper/lower case and Ctrl-<key> */
if ( islower ( key ) ) {