hw/xwin: Change winTranslateKey() to return it's result as it's return value
Change winTranslateKey() to return it's result as it's return value, and change it's uses as well. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
This commit is contained in:
parent
9b4cec76f1
commit
5dccfc63f9
|
@ -921,8 +921,8 @@ void
|
|||
* winkeybd.c
|
||||
*/
|
||||
|
||||
void
|
||||
winTranslateKey(WPARAM wParam, LPARAM lParam, int *piScanCode);
|
||||
int
|
||||
winTranslateKey(WPARAM wParam, LPARAM lParam);
|
||||
|
||||
int
|
||||
winKeybdProc(DeviceIntPtr pDeviceInt, int iState);
|
||||
|
|
|
@ -65,13 +65,14 @@ static void
|
|||
* like AltGr on European keyboards.
|
||||
*/
|
||||
|
||||
void
|
||||
winTranslateKey(WPARAM wParam, LPARAM lParam, int *piScanCode)
|
||||
int
|
||||
winTranslateKey(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int iKeyFixup = g_iKeyMap[wParam * WIN_KEYMAP_COLS + 1];
|
||||
int iKeyFixupEx = g_iKeyMap[wParam * WIN_KEYMAP_COLS + 2];
|
||||
int iParam = HIWORD(lParam);
|
||||
int iParamScanCode = LOBYTE(iParam);
|
||||
int iScanCode;
|
||||
|
||||
winDebug("winTranslateKey: wParam %08x lParam %08x\n", wParam, lParam);
|
||||
|
||||
|
@ -96,23 +97,25 @@ winTranslateKey(WPARAM wParam, LPARAM lParam, int *piScanCode)
|
|||
|
||||
/* Branch on special extended, special non-extended, or normal key */
|
||||
if ((iParam & KF_EXTENDED) && iKeyFixupEx)
|
||||
*piScanCode = iKeyFixupEx;
|
||||
iScanCode = iKeyFixupEx;
|
||||
else if (iKeyFixup)
|
||||
*piScanCode = iKeyFixup;
|
||||
iScanCode = iKeyFixup;
|
||||
else if (wParam == 0 && iParamScanCode == 0x70)
|
||||
*piScanCode = KEY_HKTG;
|
||||
iScanCode = KEY_HKTG;
|
||||
else
|
||||
switch (iParamScanCode) {
|
||||
case 0x70:
|
||||
*piScanCode = KEY_HKTG;
|
||||
iScanCode = KEY_HKTG;
|
||||
break;
|
||||
case 0x73:
|
||||
*piScanCode = KEY_BSlash2;
|
||||
iScanCode = KEY_BSlash2;
|
||||
break;
|
||||
default:
|
||||
*piScanCode = iParamScanCode;
|
||||
iScanCode = iParamScanCode;
|
||||
break;
|
||||
}
|
||||
|
||||
return iScanCode;
|
||||
}
|
||||
|
||||
/* Ring the keyboard bell (system speaker on PCs) */
|
||||
|
|
|
@ -1064,7 +1064,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
}
|
||||
|
||||
/* Translate Windows key code to X scan code */
|
||||
winTranslateKey(wParam, lParam, &iScanCode);
|
||||
iScanCode = winTranslateKey(wParam, lParam);
|
||||
|
||||
/* Ignore repeats for CapsLock */
|
||||
if (wParam == VK_CAPITAL)
|
||||
|
@ -1093,7 +1093,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
return 0;
|
||||
|
||||
/* Enqueue a keyup event */
|
||||
winTranslateKey(wParam, lParam, &iScanCode);
|
||||
iScanCode = winTranslateKey(wParam, lParam);
|
||||
winSendKeyEvent(iScanCode, FALSE);
|
||||
|
||||
/* Release all pressed shift keys */
|
||||
|
|
Loading…
Reference in New Issue
Block a user