[Bug 2400] New: Issue with Delete when NumLock active
Wine Bugs
wine-bugs at winehq.org
Sun Aug 1 07:28:18 CDT 2004
http://bugs.winehq.org/show_bug.cgi?id=2400
Summary: Issue with Delete when NumLock active
Product: Wine
Version: 20040716
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-x11driver
AssignedTo: wine-bugs at winehq.org
ReportedBy: biro_arpad at yahoo.com
Found a possible bug in Wine20040716 on a SUSE 9.1 machine using
standard Hungarian PC keyboard with Hungarian keyboard layout.
The bug shows up both with wine-20040716-SuSELinux91.i586.rpm and
with self-compiled Wine20040716.
The problem is that when NumLock is active, both Del keys perform
a "delete" action _and_ insert a comma (the decimal character in
Hungarian). This means that the character just right to the text
cursor is replaced with a comma when pressing any of the two Del
keys.
What Wine should do instead: the left Del key should perform a
"delete" and the right one should insert a decimal character
(when NumLock is active).
I did some googling and found this:
http://www.winehq.org/hypermail/wine-patches/2002/12/0329.html
Since that patch did not work for me (it may have been good for
that version though), I made another one:
--------------------------------------------------------------------
--- keyboard.c.orig 2004-07-28 14:28:20.000000000 +0200
+++ keyboard.c 2004-08-01 13:55:52.608263568 +0200
@@ -945,11 +945,14 @@
else
XLookupString(e, NULL, 0, &keysym, NULL);
- if ((keysym >= 0xFFAE) && (keysym <= 0xFFB9) && (keysym != 0xFFAF)
- && (e->state & NumLockMask))
+ if (e->state & NumLockMask) // NumLock is active
+ {if (keysym == 0xFFAC) // Numeric Del pressed
+ return keyc2vkey[0x3B]; // comma
+ if ((keysym >= 0xFFAE) && (keysym <= 0xFFB9) && (keysym != 0xFFAF))
/* Only the Keypad keys 0-9 and . send different keysyms
* depending on the NumLock state */
return nonchar_key_vkey[keysym & 0xFF];
+ }
TRACE_(key)("e->keycode = %x\n", e->keycode);
--------------------------------------------------------------------
I have no idea as to whether or not this works with other keyboards.
It should definitely be modified somehow, since it has the "comma"
decimal character hard-wired.
Also, the patch may not be optimal at all, so this is really just
for demonstration (it works perfectly here, though).
As a side note: I also tried the following patch, but it does not
work (the left Del is OK (performs a "delete"), but the right one
does nothing):
- if ((keysym >= 0xFFAE) && (keysym <= 0xFFB9) && (keysym != 0xFFAF)
+ if ((keysym >= 0xFFAC) && (keysym <= 0xFFB9) && (keysym != 0xFFAF) &&
(keysym != 0xFFAD)
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the wine-bugs
mailing list