Cygwin/X: Handle fake keypresses generated by speech recognizers

Apparently, fake keypresses generated by speech recognizers may not bother
with a scan code, so look up what scan code corresponds to the virtual key
code if this occurs.

Patch by Paul Loewenstein <paul.loewenstein@gmail.com>

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
This commit is contained in:
Paul Loewenstein
2009-11-01 18:18:45 +00:00
committed by Jon TURNEY
parent 0866322b57
commit 35901ece6a
2 changed files with 32 additions and 8 deletions

View File

@@ -45,6 +45,9 @@
#define WIN_KEYMAP_COLS 3
/* Rows 160 through 165 correspond to software-generated codes, which
* may not be associated with the appropriate scan code.
*/
const int
g_iKeyMap [] = {
/* count Windows VK, ASCII, ASCII when extended VK */
@@ -208,12 +211,12 @@ g_iKeyMap [] = {
/* 157 */ 0, 0, 0,
/* 158 */ 0, 0, 0,
/* 159 */ 0, 0, 0,
/* 160 */ 0, 0, 0,
/* 161 */ 0, 0, 0,
/* 162 */ 0, 0, 0,
/* 163 */ 0, 0, 0,
/* 164 */ 0, 0, 0,
/* 165 */ 0, 0, 0,
/* 160 */ VK_LSHIFT, KEY_ShiftL, 0,
/* 161 */ VK_RSHIFT, KEY_ShiftR, 0,
/* 162 */ VK_LCONTROL, KEY_LCtrl, 0,
/* 163 */ VK_RCONTROL, KEY_RCtrl, 0,
/* 164 */ VK_LMENU, KEY_Alt, 0,
/* 165 */ VK_RMENU, KEY_AltLang, 0,
/* 166 */ 0, 0, 0,
/* 167 */ 0, 0, 0,
/* 168 */ 0, 0, 0,