Keyboard Extra keys - both USB Keyboard and T3.6 USB host Keyboard.

Status
Not open for further replies.

KurtE

Senior Member+
After playing with the USB Host keyboard code for the T3.6 and trying to make more of the keyboard keys work, I was wondering about what to do with some of the extra standard keys like: F1-F12 (maybe more) as well as Home/End/Arrows...

Looking the USB Keyboard Host code and pjrc web page: https://www.pjrc.com/teensy/td_keyboard.html
It is unclear if there is a standard way to be able to output these keys to a host computer using the USB Keyboard code?

Likewise I am not sure the best way to process these keys in the USB Host keyboard code.

I am wondering if it makes sense to define some/all of these keys to some numeric value above 0x80?

Note: The Arduino Keyboard library: https://github.com/arduino-libraries/Keyboard
Has defined them like:
Code:
#define KEY_LEFT_CTRL   0x80
#define KEY_LEFT_SHIFT    0x81
#define KEY_LEFT_ALT    0x82
#define KEY_LEFT_GUI    0x83
#define KEY_RIGHT_CTRL    0x84
#define KEY_RIGHT_SHIFT   0x85
#define KEY_RIGHT_ALT   0x86
#define KEY_RIGHT_GUI   0x87

#define KEY_UP_ARROW    0xDA
#define KEY_DOWN_ARROW    0xD9
#define KEY_LEFT_ARROW    0xD8
#define KEY_RIGHT_ARROW   0xD7
#define KEY_BACKSPACE   0xB2
#define KEY_TAB       0xB3
#define KEY_RETURN      0xB0
#define KEY_ESC       0xB1
#define KEY_INSERT      0xD1
#define KEY_DELETE      0xD4
#define KEY_PAGE_UP     0xD3
#define KEY_PAGE_DOWN   0xD6
#define KEY_HOME      0xD2
#define KEY_END       0xD5
#define KEY_CAPS_LOCK   0xC1
#define KEY_F1        0xC2
#define KEY_F2        0xC3
#define KEY_F3        0xC4
#define KEY_F4        0xC5
#define KEY_F5        0xC6
#define KEY_F6        0xC7
#define KEY_F7        0xC8
#define KEY_F8        0xC9
#define KEY_F9        0xCA
#define KEY_F10       0xCB
#define KEY_F11       0xCC
#define KEY_F12       0xCD

This library also has a pending Pull request to add some additional function keys: https://github.com/arduino-libraries/Keyboard/pull/10

Thoughts?
 
How does the PS2 library handle them ?

Never used it before... But looks like many of these keys are not functional either:
Code:
#define PS2_TAB				9
#define PS2_ENTER			13
#define PS2_BACKSPACE			127
#define PS2_ESC				27
#define PS2_INSERT			0
#define PS2_DELETE			127
#define PS2_HOME			0
#define PS2_END				0
#define PS2_PAGEUP			25
#define PS2_PAGEDOWN			26
#define PS2_UPARROW			11
#define PS2_LEFTARROW			8
#define PS2_DOWNARROW			10
#define PS2_RIGHTARROW			21
#define PS2_F1				0
#define PS2_F2				0
#define PS2_F3				0
#define PS2_F4				0
#define PS2_F5				0
#define PS2_F6				0
#define PS2_F7				0
#define PS2_F8				0
#define PS2_F9				0
#define PS2_F10				0
#define PS2_F11				0
#define PS2_F12				0
#define PS2_SCROLL			0
#define PS2_EURO_SIGN			0
 
Status
Not open for further replies.
Back
Top