Gentoo Archives: gentoo-user

From: Jack <ostroffjh@×××××××××××××××××.net>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Software emulation of angled arrow keys on Lenovo Thinkpad?
Date: Sun, 28 Aug 2022 02:58:50
Message-Id: 77914a79-7de4-80fa-3875-91b3dd218d4c@users.sourceforge.net
In Reply to: Re: [gentoo-user] Software emulation of angled arrow keys on Lenovo Thinkpad? by Walter Dnes
1 At this point, I'm doing no better than guessing.  I'd suggest trying
2 things.  I'd map the keycode of the keypress you want to use to the
3 keycode of what the program seems to expect for that key.
4
5 On 8/27/22 03:30, Walter Dnes wrote:
6 > That's on a real numeric keypad. Meanwhile on the Lenovo Thinkpad
7 >
8 > left shift
9 >
10 > KeyPress event, serial 38, synthetic NO, window 0xe00001,
11 > root 0x256, subw 0x0, time 25019825, (528,-50), root:(532,488),
12 > state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
13 > XLookupString gives 0 bytes:
14 > XmbLookupString gives 0 bytes:
15 > XFilterEvent returns: False
16 >
17 > KeyRelease event, serial 38, synthetic NO, window 0xe00001,
18 > root 0x256, subw 0x0, time 25019913, (528,-50), root:(532,488),
19 > state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
20 > XLookupString gives 0 bytes:
21 > XFilterEvent returns: False
22 >
23 > exit
24 >
25 > KeyPress event, serial 38, synthetic NO, window 0xe00001,
26 > root 0x256, subw 0x0, time 25211416, (708,53), root:(712,591),
27 > state 0x0, keycode 115 (keysym 0xff57, End), same_screen YES,
28 > XLookupString gives 0 bytes:
29 > XmbLookupString gives 0 bytes:
30 > XFilterEvent returns: False
31 >
32 > KeyRelease event, serial 38, synthetic NO, window 0xe00001,
33 > root 0x256, subw 0x0, time 25211553, (708,53), root:(712,591),
34 > state 0x0, keycode 115 (keysym 0xff57, End), same_screen YES,
35 > XLookupString gives 0 bytes:
36 > XFilterEvent returns: False
37 >
38 > pgdn
39 >
40 > KeyPress event, serial 38, synthetic NO, window 0xe00001,
41 > root 0x256, subw 0x0, time 25338798, (677,2), root:(681,540),
42 > state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
43 > XLookupString gives 0 bytes:
44 > XmbLookupString gives 0 bytes:
45 > XFilterEvent returns: False
46 >
47 > KeyRelease event, serial 38, synthetic NO, window 0xe00001,
48 > root 0x256, subw 0x0, time 25338934, (677,2), root:(681,540),
49 > state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
50 > XLookupString gives 0 bytes:
51 > XFilterEvent returns: False
52 >
53 > home
54 >
55 > KeyPress event, serial 38, synthetic NO, window 0xe00001,
56 > root 0x256, subw 0x0, time 25427458, (880,-8), root:(884,530),
57 > state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
58 > XLookupString gives 0 bytes:
59 > XmbLookupString gives 0 bytes:
60 > XFilterEvent returns: False
61 >
62 > KeyRelease event, serial 38, synthetic NO, window 0xe00001,
63 > root 0x256, subw 0x0, time 25427562, (880,-8), root:(884,530),
64 > state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
65 > XLookupString gives 0 bytes:
66 > XFilterEvent returns: False
67 >
68 > pgup
69 >
70 > KeyPress event, serial 38, synthetic NO, window 0xe00001,
71 > root 0x256, subw 0x0, time 25478798, (767,108), root:(771,646),
72 > state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
73 > XLookupString gives 0 bytes:
74 > XmbLookupString gives 0 bytes:
75 > XFilterEvent returns: False
76 >
77 > KeyRelease event, serial 38, synthetic NO, window 0xe00001,
78 > root 0x256, subw 0x0, time 25478901, (767,108), root:(771,646),
79 > state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
80 > XLookupString gives 0 bytes:
81 > XFilterEvent returns: False
82 >
83 > ###################################################################
84 >
85 > Is it possible to map {LEFT-SHIFT} plus End, PgDn, Home, PgUp to "real
86 > keypad" 1, 3, 7, 9 respectively? If the {LEFT-SHIFT} is not being held
87 > down, then the End, PgDn, Home, PgUp would have their regular meanings.
88 > To be more specific, while "keycode 50 (keysym 0xffe1, Shift_L)" is in
89 > effect (i.e. {Left}{SHIFT} is being held down)...
90 I think the whole point of the mapping is to change the meaning of the
91 keypress events to be recognized as something else.  You should be able
92 to map the press with or without the LEFT-SHIFT.  From the little I
93 understand, xmodmap can be easily appied/reversed - you may just need
94 two files, one to make the changes, one to reverse them. Personally, I
95 would just start trying stuff to see what works.
96 >
97 > {END} (aka down left) maps to "keycode 87 (keysym 0xffb1, KP_1)"
98 >
99 > {PgDn} (aka down right) maps to "keycode 89 (keysym 0xffb3, KP_3)"
100 >
101 > {HOME} (aka up left) maps to "keycode 79 (keysym 0xffb7, KP_7)"
102 >
103 > {PgUp} (aka up right) maps to "keycode 81 (keysym 0xffb9, KP_9)"
104 >