mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 14:41:31 +00:00
usb: add numeric keypad support to HID driver
When keys are pressed on the numeric keypad, emit key codes for the numbers, operators, dot and enter. Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
This commit is contained in:
parent
3d17308e40
commit
d53da847cf
1 changed files with 10 additions and 0 deletions
|
@ -87,6 +87,12 @@ static const unsigned char usb_kbd_numkey_shifted[] = {
|
||||||
'|', '~', ':', '"', '~', '<', '>', '?'
|
'|', '~', ':', '"', '~', '<', '>', '?'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const unsigned char usb_kbd_num_keypad[] = {
|
||||||
|
'/', '*', '-', '+', '\r',
|
||||||
|
'1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
|
||||||
|
'.', 0, 0, 0, '='
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* NOTE: It's important for the NUM, CAPS, SCROLL-lock bits to be in this
|
* NOTE: It's important for the NUM, CAPS, SCROLL-lock bits to be in this
|
||||||
* order. See usb_kbd_setled() function!
|
* order. See usb_kbd_setled() function!
|
||||||
|
@ -218,6 +224,10 @@ static int usb_kbd_translate(struct usb_kbd_pdata *data, unsigned char scancode,
|
||||||
keycode = usb_kbd_numkey[scancode - 0x1e];
|
keycode = usb_kbd_numkey[scancode - 0x1e];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Numeric keypad */
|
||||||
|
if ((scancode >= 0x54) && (scancode <= 0x67))
|
||||||
|
keycode = usb_kbd_num_keypad[scancode - 0x54];
|
||||||
|
|
||||||
if (data->flags & USB_KBD_CTRL)
|
if (data->flags & USB_KBD_CTRL)
|
||||||
keycode = scancode - 0x3;
|
keycode = scancode - 0x3;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue