public inbox for cygwin-xfree@sourceware.org
help / color / mirror / Atom feed
* I lose characters because keycode of Fn is same than DEL
@ 2011-06-10 9:33 Paul Maier
2011-06-23 11:34 ` Jon TURNEY
0 siblings, 1 reply; 8+ messages in thread
From: Paul Maier @ 2011-06-10 9:33 UTC (permalink / raw)
To: cygwin-xfree
Hi,
on a a IBM Lenovo Laptop T60 there is a "Fn" key to adjust the screen brightness and such.
That "Fn" key has the same keycode than the DEL key.
Therefore I can't change the Fn key with xmodmap (because I would change the DEL key the same way.)
When I adjust the screen brightness, I lose characters in the editor.
Unfortunately the Fn key REPEATS firing delete while the key is pressed.
And several times I didn't notice the loss before saving and leaving the editor.
Here is the output of xev when I press the Fn key: (Pressing the DEL key would yield the very same output.)
KeyPress event, serial 20, synthetic NO, window 0xa00001,
root 0x101, subw 0xa00002, time 42594031, (35,42), root:(259,282),
state 0x0, keycode 107 (keysym 0xffff, Delete), same_screen YES,
XLookupString gives 1 bytes: (7f) "<7f>"
XFilterEvent returns: False
What can we do?
Thank you!
Paul
--
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/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: I lose characters because keycode of Fn is same than DEL
2011-06-10 9:33 I lose characters because keycode of Fn is same than DEL Paul Maier
@ 2011-06-23 11:34 ` Jon TURNEY
2011-06-30 8:40 ` Phil Betts
0 siblings, 1 reply; 8+ messages in thread
From: Jon TURNEY @ 2011-06-23 11:34 UTC (permalink / raw)
To: cygwin-xfree; +Cc: Paul Maier
On 10/06/2011 10:33, Paul Maier wrote:
> on a a IBM Lenovo Laptop T60 there is a "Fn" key to adjust the screen brightness and such.
>
> That "Fn" key has the same keycode than the DEL key.
> Therefore I can't change the Fn key with xmodmap (because I would change the DEL key the same way.)
>
> When I adjust the screen brightness, I lose characters in the editor.
> Unfortunately the Fn key REPEATS firing delete while the key is pressed.
> And several times I didn't notice the loss before saving and leaving the editor.
>
> Here is the output of xev when I press the Fn key: (Pressing the DEL key would yield the very same output.)
>
>
> KeyPress event, serial 20, synthetic NO, window 0xa00001,
> root 0x101, subw 0xa00002, time 42594031, (35,42), root:(259,282),
> state 0x0, keycode 107 (keysym 0xffff, Delete), same_screen YES,
> XLookupString gives 1 bytes: (7f) "<7f>"
> XFilterEvent returns: False
>
>
> What can we do?
Thanks for the bug report.
I think this is a bug in the way XWin translates Windows keystrokes into X
keycodes.
Can you run the X server with the extra option '-logverbose 3' and report what
is written to /var/log/xwin/XWin.0.log when you press the Fn key.
--
Jon TURNEY
Volunteer Cygwin/X X Server maintainer
--
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/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: I lose characters because keycode of Fn is same than DEL
2011-06-23 11:34 ` Jon TURNEY
@ 2011-06-30 8:40 ` Phil Betts
2011-06-30 16:51 ` Jon TURNEY
0 siblings, 1 reply; 8+ messages in thread
From: Phil Betts @ 2011-06-30 8:40 UTC (permalink / raw)
To: cygwin-xfree
On 23 June 2011 12:34, Jon TURNEY <jon.turney@dronecode.org.uk> wrote:
> On 10/06/2011 10:33, Paul Maier wrote:
>>
>> on a a IBM Lenovo Laptop T60 there is a "Fn" key to adjust the screen
>> brightness and such.
>>
>> That "Fn" key has the same keycode than the DEL key.
>> Therefore I can't change the Fn key with xmodmap (because I would change
>> the DEL key the same way.)
>>
> ...
> I think this is a bug in the way XWin translates Windows keystrokes into X
> keycodes.
>
> Can you run the X server with the extra option '-logverbose 3' and report
> what is written to /var/log/xwin/XWin.0.log when you press the Fn key.
Since the OP hasn't responded, I have the same problem on a Lenovo R500
laptop. Running as suggested produces this when the Fn key is pressed:
[ 710.350] winTranslateKey: wParam 000000ff lParam 01630001
[ 710.350] winSendKeyEvent: dwKey: 99, fDown: 1, nEvents 3
[ 710.366] winTranslateKey: wParam 000000ff lParam c1630001
[ 710.366] winSendKeyEvent: dwKey: 99, fDown: 0, nEvents 2
and this when the Delete key is pressed:
[ 730.240] winTranslateKey: wParam 0000002e lParam 01530001
[ 730.240] winSendKeyEvent: dwKey: 99, fDown: 1, nEvents 2
[ 730.349] winTranslateKey: wParam 0000002e lParam c1530001
[ 730.349] winSendKeyEvent: dwKey: 99, fDown: 0, nEvents 2
Phil
--
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/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: I lose characters because keycode of Fn is same than DEL
2011-06-30 8:40 ` Phil Betts
@ 2011-06-30 16:51 ` Jon TURNEY
2011-07-01 11:21 ` Phil Betts
0 siblings, 1 reply; 8+ messages in thread
From: Jon TURNEY @ 2011-06-30 16:51 UTC (permalink / raw)
To: cygwin-xfree; +Cc: phil.betts, Paul Maier
On 30/06/2011 09:14, Phil Betts wrote:
> On 23 June 2011 12:34, Jon TURNEY <jon.turney@dronecode.org.uk> wrote:
>> On 10/06/2011 10:33, Paul Maier wrote:
>>>
>>> on a a IBM Lenovo Laptop T60 there is a "Fn" key to adjust the screen
>>> brightness and such.
>>>
>>> That "Fn" key has the same keycode than the DEL key.
>>> Therefore I can't change the Fn key with xmodmap (because I would change
>>> the DEL key the same way.)
>>>
>> ...
>> I think this is a bug in the way XWin translates Windows keystrokes into X
>> keycodes.
>>
>> Can you run the X server with the extra option '-logverbose 3' and report
>> what is written to /var/log/xwin/XWin.0.log when you press the Fn key.
>
> Since the OP hasn't responded, I have the same problem on a Lenovo R500
> laptop. Running as suggested produces this when the Fn key is pressed:
>
> [ 710.350] winTranslateKey: wParam 000000ff lParam 01630001
> [ 710.350] winSendKeyEvent: dwKey: 99, fDown: 1, nEvents 3
> [ 710.366] winTranslateKey: wParam 000000ff lParam c1630001
> [ 710.366] winSendKeyEvent: dwKey: 99, fDown: 0, nEvents 2
>
> and this when the Delete key is pressed:
>
> [ 730.240] winTranslateKey: wParam 0000002e lParam 01530001
> [ 730.240] winSendKeyEvent: dwKey: 99, fDown: 1, nEvents 2
> [ 730.349] winTranslateKey: wParam 0000002e lParam c1530001
> [ 730.349] winSendKeyEvent: dwKey: 99, fDown: 0, nEvents 2
Thanks.
I've fixed the mapping for this (undocumented) virtual key code, so hopefully
this works correctly now. I've uploaded a snapshot at [1]
I can't test this as the keyboards I have with an Fn key don't generate a
separate keypress for that, apparently Lenovo laptops are special in this
regard :-), so please let me know if this works.
[1] ftp://cygwin.com/pub/cygwinx/XWin.20110630-git-e89b8ba1b44331d1.exe.bz2
--
Jon TURNEY
Volunteer Cygwin/X X Server maintainer
--
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/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: I lose characters because keycode of Fn is same than DEL
2011-06-30 16:51 ` Jon TURNEY
@ 2011-07-01 11:21 ` Phil Betts
2011-07-01 15:14 ` Jon TURNEY
0 siblings, 1 reply; 8+ messages in thread
From: Phil Betts @ 2011-07-01 11:21 UTC (permalink / raw)
To: cygwin-xfree
On 30 June 2011 17:51, Jon TURNEY <jon.turney@dronecode.org.uk> wrote:
> I've fixed the mapping for this (undocumented) virtual key code, so hopefully
> this works correctly now. I've uploaded a snapshot at [1]
>
> I can't test this as the keyboards I have with an Fn key don't generate a
> separate keypress for that, apparently Lenovo laptops are special in this
> regard :-), so please let me know if this works.
>
> [1] ftp://cygwin.com/pub/cygwinx/XWin.20110630-git-e89b8ba1b44331d1.exe.bz2
Thanks Jon, that works a treat.
The new output for the Fn key is:
[ 89311.789] winTranslateKey: wParam 000000ff lParam 01630001
[ 89311.789] winSendKeyEvent: dwKey: 85, fDown: 1, nEvents 2
[ 89311.789] winTranslateKey: wParam 000000ff lParam c1630001
[ 89311.789] winSendKeyEvent: dwKey: 85, fDown: 0, nEvents 2
The corresponding output in xev is now:
KeyPress event, serial 27, synthetic NO, window 0x400001,
root 0x101, subw 0x0, time 89443079, (86,83), root:(202,215),
state 0x0, keycode 93 (keysym 0xff7e, Mode_switch), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 27, synthetic NO, window 0x400001,
root 0x101, subw 0x0, time 89443079, (86,83), root:(202,215),
state 0x0, keycode 93 (keysym 0xff7e, Mode_switch), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Phil
--
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/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: I lose characters because keycode of Fn is same than DEL
2011-07-01 11:21 ` Phil Betts
@ 2011-07-01 15:14 ` Jon TURNEY
2011-07-05 12:50 ` Phil Betts
0 siblings, 1 reply; 8+ messages in thread
From: Jon TURNEY @ 2011-07-01 15:14 UTC (permalink / raw)
To: cygwin-xfree; +Cc: phil.betts
On 01/07/2011 12:21, Phil Betts wrote:
> On 30 June 2011 17:51, Jon TURNEY <jon.turney@dronecode.org.uk> wrote:
>> I've fixed the mapping for this (undocumented) virtual key code, so hopefully
>> this works correctly now. I've uploaded a snapshot at [1]
>>
>> I can't test this as the keyboards I have with an Fn key don't generate a
>> separate keypress for that, apparently Lenovo laptops are special in this
>> regard :-), so please let me know if this works.
>>
>> [1] ftp://cygwin.com/pub/cygwinx/XWin.20110630-git-e89b8ba1b44331d1.exe.bz2
>
> Thanks Jon, that works a treat.
>
> The new output for the Fn key is:
> [ 89311.789] winTranslateKey: wParam 000000ff lParam 01630001
> [ 89311.789] winSendKeyEvent: dwKey: 85, fDown: 1, nEvents 2
> [ 89311.789] winTranslateKey: wParam 000000ff lParam c1630001
> [ 89311.789] winSendKeyEvent: dwKey: 85, fDown: 0, nEvents 2
>
> The corresponding output in xev is now:
>
> KeyPress event, serial 27, synthetic NO, window 0x400001,
> root 0x101, subw 0x0, time 89443079, (86,83), root:(202,215),
> state 0x0, keycode 93 (keysym 0xff7e, Mode_switch), same_screen YES,
> XLookupString gives 0 bytes:
> XmbLookupString gives 0 bytes:
> XFilterEvent returns: False
>
> KeyRelease event, serial 27, synthetic NO, window 0x400001,
> root 0x101, subw 0x0, time 89443079, (86,83), root:(202,215),
> state 0x0, keycode 93 (keysym 0xff7e, Mode_switch), same_screen YES,
> XLookupString gives 0 bytes:
> XFilterEvent returns: False
Thanks.
I was aiming to generate an unused keycode, though, so I'm not sure I've
picked a good one.
Can I see the output of 'setxkbmap -print' as well, please?
--
Jon TURNEY
Volunteer Cygwin/X X Server maintainer
--
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/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: I lose characters because keycode of Fn is same than DEL
2011-07-01 15:14 ` Jon TURNEY
@ 2011-07-05 12:50 ` Phil Betts
2011-07-06 8:16 ` Jon TURNEY
0 siblings, 1 reply; 8+ messages in thread
From: Phil Betts @ 2011-07-05 12:50 UTC (permalink / raw)
To: cygwin-xfree
On 1 July 2011 16:13, Jon TURNEY <jon.turney@dronecode.org.uk> wrote:
> I was aiming to generate an unused keycode, though, so I'm not sure I've
> picked a good one.
Understood, although just about anything is preferable to Delete :)
Since Fn functions as a modifier, perhaps one of the Mod keys, e.g.
Mod5 might be a better choice.
As long as it can be distinguished from any other key, we can use
xmodmap to map it to whatever we want (e.g. Control_L for me).
> Can I see the output of 'setxkbmap -print' as well, please?
xkb_keymap {
xkb_keycodes { include "xfree86+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+gb+inet(pc105)" };
xkb_geometry { include "pc(pc105)" };
};
I get the same output regardless of whether X is started with or without
an external keyboard plugged in (is the external keyboard even
considered?).
Thanks,
Phil
--
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/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: I lose characters because keycode of Fn is same than DEL
2011-07-05 12:50 ` Phil Betts
@ 2011-07-06 8:16 ` Jon TURNEY
0 siblings, 0 replies; 8+ messages in thread
From: Jon TURNEY @ 2011-07-06 8:16 UTC (permalink / raw)
To: cygwin-xfree
On 04/07/2011 16:19, Phil Betts wrote:
> On 1 July 2011 16:13, Jon TURNEY <jon.turney@dronecode.org.uk> wrote:
>> I was aiming to generate an unused keycode, though, so I'm not sure I've
>> picked a good one.
>
> Understood, although just about anything is preferable to Delete :)
>
> Since Fn functions as a modifier, perhaps one of the Mod keys, e.g.
> Mod5 might be a better choice.
>
> As long as it can be distinguished from any other key, we can use
> xmodmap to map it to whatever we want (e.g. Control_L for me).
Well, I was aiming for it to do nothing by default and then it can be mapped
to a modifier if desired.
>> Can I see the output of 'setxkbmap -print' as well, please?
>
> xkb_keymap {
> xkb_keycodes { include "xfree86+aliases(qwerty)" };
> xkb_types { include "complete" };
> xkb_compat { include "complete" };
> xkb_symbols { include "pc+gb+inet(pc105)" };
> xkb_geometry { include "pc(pc105)" };
> };
Hm.. this is strange, I have the same keymap, but when I generate that key
event (I have to hack my X server to do that as I don't have a Fn key), I get:
KeyPress event, serial 27, synthetic NO, window 0x800001,
root 0x101, subw 0x0, time 7868875, (90,80), root:(2056,142),
state 0x0, keycode 93 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 27, synthetic NO, window 0x800001,
root 0x101, subw 0x0, time 7868968, (90,80), root:(2056,142),
state 0x0, keycode 93 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
.. and this seems right looking at the output of 'xmodmap -pk', so there's
something else going on here I don't understand :-)
> I get the same output regardless of whether X is started with or without
> an external keyboard plugged in (is the external keyboard even
> considered?).
Not really, all the Windows keyboard input (which may come from real keyboards
or programs pretending to be one) is composed into a single virtual X keyboard.
Perhaps this isn't quite right but works well enough for most purposes :-)
--
Jon TURNEY
Volunteer Cygwin/X X Server maintainer
--
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/
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-07-05 12:50 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-10 9:33 I lose characters because keycode of Fn is same than DEL Paul Maier
2011-06-23 11:34 ` Jon TURNEY
2011-06-30 8:40 ` Phil Betts
2011-06-30 16:51 ` Jon TURNEY
2011-07-01 11:21 ` Phil Betts
2011-07-01 15:14 ` Jon TURNEY
2011-07-05 12:50 ` Phil Betts
2011-07-06 8:16 ` Jon TURNEY
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).