[ros-dev] Blockers...
James Tabor
jimtabor at adsl-64-217-116-74.dsl.hstntx.swbell.net
Tue Jul 26 06:24:46 CEST 2005
WaxDragon wrote:
> On 7/23/05, Alex Ionescu <ionucu at videotron.ca> wrote:
>
>>Hi,
>>
>>Here is a current update on the 0.2.7 blockers...if you can help, please DO!
>>
>
>
> The keyboard input bug was a blocker too. Luckly i had the email from bugzilla.
> -----
> http://reactos.com/bugzilla/show_bug.cgi?id=657
>
> Summary: Shift sticks when selecting text with the arrow keys.
> Product: ReactOS
> Version: 0.3.0-SVN
> Platform: VMWare 4
> OS/Version: ReactOS
> Status: NEW
> Severity: major
> Priority: P3
> Component: Drivers
> AssignedTo: ros-bugs at reactos.com
> ReportedBy: waxdragon at ameritech.net
>
>
> VMWare 4.5.2
> ReactOS r16251 (this is not a recent bug, I think 15xxx has it)
>
> 1. Boot ROS
> 2. Open notepad
> 3. Type "This sucks"
> 4. Press and hold Shift and use the arrow keys to select the previous text (not
> the numberic keypad*)
> 5. Type "This sucks" again, notice it is in UPPERCASE and backspace no
> longer works
>
> * Numlock seems to affect this. I boot vmware with numlock off, and this bug
> occurs. If turn num lock on before typing, imput works as expected. It's Shift
> that gets stuck because capslock Shifts them back to lowercase, but the numbers
> come out as ! @ # $ still. The capslock - arrow keys interaction is also
> discussed in bug 617
> -----
>
> There were some other comments on this bug, basically keycode dumps
> showing how the arrow keys are emulated my qemu and vmware.
>
> Has anyone seen tinus?
>
>
> WD
>
After looking into this I found in win32k/ntuser/keyboard.c. All controls keys in wParam
return left key as in VK_LCONTROL, VK_LMENU and VK_LSHIFT. I can not down menu with VK_MENU
because wParam is VK_LMENU.
The numlock keys are also translated into,
static WORD NumpadConversion[][2] =
{ { VK_DELETE, VK_DECIMAL },
{ VK_INSERT, VK_NUMPAD0 },
{ VK_END, VK_NUMPAD1 },
{ VK_DOWN, VK_NUMPAD2 },
{ VK_NEXT, VK_NUMPAD3 },
{ VK_LEFT, VK_NUMPAD4 },
{ VK_CLEAR, VK_NUMPAD5 },
{ VK_RIGHT, VK_NUMPAD6 },
{ VK_HOME, VK_NUMPAD7 },
{ VK_UP, VK_NUMPAD8 },
{ VK_PRIOR, VK_NUMPAD9 },
this is in W32kKeyProcessMessage. Maybe the bug is in keyboard.c or input.c.
Thanks,
James
More information about the Ros-dev
mailing list