[Mono-bugs] [Bug 427039] New: Need a low-level keystroke filter
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Wed Sep 17 13:26:15 EDT 2008
https://bugzilla.novell.com/show_bug.cgi?id=427039
Summary: Need a low-level keystroke filter
Product: Mono: Class Libraries
Version: SVN
Platform: All
OS/Version: Linux
Status: NEW
Severity: Enhancement
Priority: P5 - None
Component: Windows.Forms
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: mgorse at novell.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
The UIA-to-ATK bridge needs to pass events to atk when keys are pressed or
released so that a11y programs such as Orca can know when keys are pressed and
potentially intercept them. I cannot use a MessageFilter or PreviewKeyDown
handler, as they are currently implemented, for a few reasons:
- Mono tries to behave like Windows when caps lock or num lock are pressed.
Rather than wait for the key to be released, Windows sends a WM_KEYUP
immediately following the WM_KEYDOWN, so it is impossible for an application to
determine whether caps lock is still depressed by listening for messages alone.
Orca uses caps lock as a modifier key when the laptop keyboard layout is
selected, so it needs to know if the key is being held down.
- Atk wants the X11 keysym for a key along with a string with a representation
of the character that would correspond to the key. X11Keyboard.cs has a
function called ToUnicode, which is used by TranslateMessage, but it is not
currently used anywhere else or publicly accessible (since it is in a
X11-specific file).
See bug 418524 for more details.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list