Add a few more special keys I have on my keyboard: mail, search, browser These are normally trapped by Windows, so -keyhook needs to be taught how to catch them as well --- hw/xwin/winkeybd.h | 6 +++--- hw/xwin/winkeyhook.c | 12 +++++++----- hw/xwin/winkeynames.h | 4 ++++ 3 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/hw/xwin/winkeybd.h b/hw/xwin/winkeybd.h index 662392b..2784673 100644 --- a/hw/xwin/winkeybd.h +++ b/hw/xwin/winkeybd.h @@ -213,9 +213,9 @@ g_iKeyMap [] = { /* 167 */ 0, 0, 0, /* 168 */ 0, 0, 0, /* 169 */ 0, 0, 0, - /* 170 */ 0, 0, 0, + /* 170 */ VK_BROWSER_SEARCH,KEY_SEARCH, 0, /* 171 */ 0, 0, 0, - /* 172 */ 0, 0, 0, + /* 172 */ VK_BROWSER_HOME,KEY_BROWSER, 0, /* 173 */ VK_VOLUME_MUTE, 0, KEY_Mute, /* 174 */ VK_VOLUME_DOWN, 0, KEY_AudioLower, /* 175 */ VK_VOLUME_UP, 0, KEY_AudioRaise, @@ -223,7 +223,7 @@ g_iKeyMap [] = { /* 177 */ VK_MEDIA_PREV_TRACK, 0, KEY_PREVIOUSSONG, /* 178 */ VK_MEDIA_STOP, 0, KEY_STOPCD, /* 179 */ VK_MEDIA_PLAY_PAUSE, 0, KEY_PLAYPAUSE, - /* 180 */ 0, 0, 0, + /* 180 */ VK_LAUNCH_MAIL, KEY_MAIL, 0, /* 181 */ 0, 0, 0, /* 182 */ 0, 0, 0, /* 183 */ 0, 0, 0, diff --git a/hw/xwin/winkeyhook.c b/hw/xwin/winkeyhook.c index 2d6ed18..0c2e65b 100755 --- a/hw/xwin/winkeyhook.c +++ b/hw/xwin/winkeyhook.c @@ -101,11 +101,13 @@ winKeyboardMessageHookLL (int iCode, WPARAM wParam, LPARAM lParam) switch (wParam) { case WM_KEYDOWN: case WM_SYSKEYDOWN: - case WM_KEYUP: case WM_SYSKEYUP: - fPassKeystroke = - (fPassAltTab && - (p->vkCode == VK_TAB) && ((p->flags & LLKHF_ALTDOWN) != 0)) - || (p->vkCode == VK_LWIN) || (p->vkCode == VK_RWIN) + case WM_KEYUP: case WM_SYSKEYUP: + fPassKeystroke = + (fPassAltTab && + (p->vkCode == VK_TAB) && ((p->flags & LLKHF_ALTDOWN) != 0)) + || (p->vkCode == VK_LWIN) || (p->vkCode == VK_RWIN) + || (p->vkCode == VK_BROWSER_SEARCH) || (p->vkCode == VK_BROWSER_HOME) + || (p->vkCode == VK_LAUNCH_MAIL) ; break; } diff --git a/hw/xwin/winkeynames.h b/hw/xwin/winkeynames.h index 5a3129f..2f45ce6 100644 --- a/hw/xwin/winkeynames.h +++ b/hw/xwin/winkeynames.h @@ -200,6 +200,10 @@ #define KEY_PREVIOUSSONG /* Media previous */ 136 #define KEY_STOPCD /* Media stop */ 156 +#define KEY_SEARCH /* Search */ 221 +#define KEY_MAIL /* Mail */ 228 +#define KEY_BROWSER /* Browser */ 170 + /* These are for "notused" and "unknown" entries in translation maps. */ #define KEY_NOTUSED 0 #define KEY_UNKNOWN 255 -- 1.7.0.4 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/