Closed
Bug 431478
Opened 18 years ago
Closed 18 years ago
[Gtk] alternativeCharCodes should depend on CapsLock/NumLock state
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: karlt, Assigned: karlt)
References
Details
Attachments
(1 file)
|
4.54 KB,
patch
|
masayuki
:
review+
roc
:
superreview+
damons
:
approval1.9+
|
Details | Diff | Splinter Review |
The character code in the event depends on CapsLock and so alternativeCharCodes should be consistent.
(Attachment 318329 [details] [diff] made this consistent on Windows.)
(I'll do the Latin charCode with Ctrl separately.)
Attachment #318547 -
Flags: review?(masayuki)
| Assignee | ||
Updated•18 years ago
|
Summary: alternativeCharCodes should depend on CapsLock state → [Gtk] alternativeCharCodes should depend on CapsLock state
Comment 1•18 years ago
|
||
Comment on attachment 318547 [details] [diff] [review]
use a baseState based on the real state minus Shift, Control, Alt, and Meta
looks ok, thank you!
Attachment #318547 -
Flags: superreview?(roc)
Attachment #318547 -
Flags: review?(masayuki)
Attachment #318547 -
Flags: review+
Attachment #318547 -
Flags: superreview?(roc) → superreview+
Can you explain what bugs this fixes?
Comment 3•18 years ago
|
||
The altenativeCharCodes should depend on CapsLock/ShiftLock state by this change.
Note that charCode already depends on their state. And also on Win32, they already depend on their state. We should keep compatibility between all platform if we can do.
| Assignee | ||
Comment 4•18 years ago
|
||
(In reply to comment #2)
I don't know of any real bugs on Linux.
My reasons for writing this patch is because the current behavior was implemented unintentionally, and this would make the Linux behavior more consistent with Windows.
The Windows behavior was corrected due to the report in bug 429219 comment 1.
On Linux, the French keyboard does not change from punctuation to numerals with CapsLock so the only difference this patch makes is that it means the letters have consistent case.
My version of X11 has a ShiftLock mode for any layout but that works by actually setting the Shift key in the event so there is effectively no CapsLock state (and this patch makes not difference).
However Gtk documentation says
"GDK_LOCK_MASK
a Lock key (depending on the modifier mapping of the X server this may either
be CapsLock or ShiftLock)."
so apparently some X11 versions implemented ShiftLock differently.
It's possible that there are layouts for X11 where CapsLock changes punctuation to numerals. (One could be constructed but I haven't found any.)
Updated•18 years ago
|
Attachment #318547 -
Flags: approval1.9?
Comment 5•18 years ago
|
||
Comment on attachment 318547 [details] [diff] [review]
use a baseState based on the real state minus Shift, Control, Alt, and Meta
a1.9+=damons
Attachment #318547 -
Flags: approval1.9? → approval1.9+
| Assignee | ||
Comment 6•18 years ago
|
||
A real bug that this fixes:
With a Persian keyboard layout, the numpad may provide Eastern Arabic numerals instead of the European (ASCII) forms.
setxkbmap -layout ir,us -variant keypad
This patch is needed for Ctrl+KP_EXTENDED_ARABIC-INDIC_DIGIT_ZERO to reset zoom.
Summary: [Gtk] alternativeCharCodes should depend on CapsLock state → [Gtk] alternativeCharCodes should depend on CapsLock/NumLock state
| Assignee | ||
Comment 7•18 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•