r=mkaply, a=blizzard More attempts to fix keyboard stuff. git-svn-id: svn://10.0.0.236/trunk@81261 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -1798,6 +1798,10 @@ PRBool nsWindow::OnKey( MPARAM mp1, MPARAM mp2)
|
||||
event.isShift = PR_FALSE; // OS2TODO - Why do we need this?
|
||||
event.keyCode = 0;
|
||||
}
|
||||
else if (usChar != ' ')
|
||||
{
|
||||
event.charCode = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2661,7 +2665,12 @@ PRUint32 WMChar2KeyCode( MPARAM mp1, MPARAM mp2)
|
||||
else if( flags & KC_VIRTUALKEY)
|
||||
{
|
||||
USHORT vk = SHORT2FROMMP( mp2);
|
||||
if( !(flags & KC_CHAR) ||
|
||||
if( (flags & KC_ALT) && isNumPadScanCode(CHAR4FROMMP(mp1)) )
|
||||
{
|
||||
// No virtual key value for Alt+NumPad keystrokes
|
||||
rc = 0;
|
||||
}
|
||||
else if( !(flags & KC_CHAR) ||
|
||||
(vk == VK_BACKSPACE) || (vk == VK_TAB) ||
|
||||
(vk == VK_ENTER) || (vk == VK_NEWLINE) || (vk == VK_SPACE) )
|
||||
{
|
||||
|
||||
@@ -295,6 +295,24 @@ protected:
|
||||
#define PM2NS_PARENT NS2PM_PARENT
|
||||
#define PM2NS NS2PM
|
||||
|
||||
#define PMSCAN_PAD7 0x47
|
||||
#define PMSCAN_PAD8 0x48
|
||||
#define PMSCAN_PAD9 0x49
|
||||
#define PMSCAN_PADMINUS 0x4A
|
||||
#define PMSCAN_PAD4 0x4B
|
||||
#define PMSCAN_PAD5 0x4C
|
||||
#define PMSCAN_PAD6 0x4D
|
||||
#define PMSCAN_PADPLUS 0x4E
|
||||
#define PMSCAN_PAD1 0x4F
|
||||
#define PMSCAN_PAD2 0x50
|
||||
#define PMSCAN_PAD3 0x51
|
||||
#define PMSCAN_PAD0 0x52
|
||||
|
||||
#define isNumPadScanCode(scanCode) !( (scanCode < PMSCAN_PAD7) || \
|
||||
(scanCode > PMSCAN_PAD0) || \
|
||||
(scanCode == PMSCAN_PADMINUS) || \
|
||||
(scanCode == PMSCAN_PADPLUS) )
|
||||
|
||||
extern PRUint32 WMChar2KeyCode( MPARAM mp1, MPARAM mp2);
|
||||
|
||||
extern nsWindow *NS_HWNDToWindow( HWND hwnd);
|
||||
|
||||
Reference in New Issue
Block a user