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 |
> |