This is the mail archive of the
cygwin-xfree
mailing list for the Cygwin XFree86 project.
Re: [patch 4/7] Cygwin/X: Invent a scan code if we dont have one
I plan to do a reasonably thorough investigation of what scan codes show
up during speech recognition. I believe I have seen both 0 and 1 (the
ESC scancode). The latter must be a bug (almost certainly Microsoft's)
rather than a mere omission, but is much simpler to work around than to
get fixed. I believe it is safe to regenerate the scancode for ESC, for
all keyboards, even if the scancode is provided.
Have you looked at using| MAPVK_VK_TO_VSC_EX |(3) instead of
MAPVK_VK_TO_VSC(0)? This may solve the numeric keypad/numlock problem
described below. The code then has to look at the HIBYTE of the
regenerated iParamScanCode to check for E0, the extended key scancode,
and set KF_EXTENDED bit in HIWORD (lParam) if E0, then clear HIBYTE
(iParamScanCode).
When num-lock is asserted; with my tentative fix (using MAPVK_VK_TO_VSC)
saying "move to end of line" generates "1". However, saying "press end"
generates a fake "end" key correctly, I would guess by enclosing the
simulated key with simulated num-lock keystrokes.
Another valid way of dealing with these keys in the absence of a scan
code is to generate an extended key code (i.e. for the keys between the
numeric keypad and the alphabetic keys).
To resolve some of the above guesswork, I need to quickly hack an
application that displays both the virtual key code and the scan code,
together with the extended key indication. I should be able to do that
with a quick modification to publicly available code. I can also modify
it to test |MAPVK_VK_TO_VSC_EX|, which may solve the numeric keypad
scancode problem problem cleanly by providing extended keycodes instead.
I would prefer to perform a clean, single fix. I'll also use diff!!
Paul
Reini Urban wrote:
Shouldn't we properly attribute Paul Loewenstein at least in the patch
who came up with this idea.
Jon TURNEY wrote:
Reini Urban wrote:
Shouldn't we properly attribute Paul Loewenstein at least in the
patch who came up with this idea.
Indeed, thanks for pointing out this oversight.
Revised patch attached.
That's what happens to people who don't use diff :-)
------------------------------------------------------------------------
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ: http://x.cygwin.com/docs/faq/
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ: http://x.cygwin.com/docs/faq/