r=mkaply, a=blizzard
More attempts to fix keyboard stuff.
This commit is contained in:
mkaply%us.ibm.com 2000-10-16 22:30:06 +00:00
parent 22393df75f
commit 0d8fe00e43
2 changed files with 28 additions and 1 deletions

View File

@ -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) )
{

View File

@ -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);