[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