At this point, I'm doing no better than guessing.  I'd suggest trying things.  I'd map the keycode of the keypress you want to use to the keycode of what the program seems to expect for that key.

On 8/27/22 03:30, Walter Dnes wrote:
   That's on a real numeric keypad.  Meanwhile on the Lenovo Thinkpad

left shift

KeyPress event, serial 38, synthetic NO, window 0xe00001,
     root 0x256, subw 0x0, time 25019825, (528,-50), root:(532,488),
     state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
     XLookupString gives 0 bytes:
     XmbLookupString gives 0 bytes:
     XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0xe00001,
     root 0x256, subw 0x0, time 25019913, (528,-50), root:(532,488),
     state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
     XLookupString gives 0 bytes:
     XFilterEvent returns: False

exit

KeyPress event, serial 38, synthetic NO, window 0xe00001,
     root 0x256, subw 0x0, time 25211416, (708,53), root:(712,591),
     state 0x0, keycode 115 (keysym 0xff57, End), same_screen YES,
     XLookupString gives 0 bytes:
     XmbLookupString gives 0 bytes:
     XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0xe00001,
     root 0x256, subw 0x0, time 25211553, (708,53), root:(712,591),
     state 0x0, keycode 115 (keysym 0xff57, End), same_screen YES,
     XLookupString gives 0 bytes:
     XFilterEvent returns: False

pgdn

KeyPress event, serial 38, synthetic NO, window 0xe00001,
     root 0x256, subw 0x0, time 25338798, (677,2), root:(681,540),
     state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
     XLookupString gives 0 bytes:
     XmbLookupString gives 0 bytes:
     XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0xe00001,
     root 0x256, subw 0x0, time 25338934, (677,2), root:(681,540),
     state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
     XLookupString gives 0 bytes:
     XFilterEvent returns: False

home

KeyPress event, serial 38, synthetic NO, window 0xe00001,
     root 0x256, subw 0x0, time 25427458, (880,-8), root:(884,530),
     state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
     XLookupString gives 0 bytes:
     XmbLookupString gives 0 bytes:
     XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0xe00001,
     root 0x256, subw 0x0, time 25427562, (880,-8), root:(884,530),
     state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
     XLookupString gives 0 bytes:
     XFilterEvent returns: False

pgup

KeyPress event, serial 38, synthetic NO, window 0xe00001,
     root 0x256, subw 0x0, time 25478798, (767,108), root:(771,646),
     state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
     XLookupString gives 0 bytes:
     XmbLookupString gives 0 bytes:
     XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0xe00001,
     root 0x256, subw 0x0, time 25478901, (767,108), root:(771,646),
     state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
     XLookupString gives 0 bytes:
     XFilterEvent returns: False

###################################################################

   Is it possible to map {LEFT-SHIFT} plus End, PgDn, Home, PgUp to "real
keypad" 1, 3, 7, 9 respectively?  If the {LEFT-SHIFT} is not being held
down, then the End, PgDn, Home, PgUp would have their regular meanings.
To be more specific, while "keycode 50 (keysym 0xffe1, Shift_L)" is in
effect (i.e. {Left}{SHIFT} is being held down)...
I think the whole point of the mapping is to change the meaning of the keypress events to be recognized as something else.  You should be able to map the press with or without the LEFT-SHIFT.  From the little I understand, xmodmap can be easily appied/reversed - you may just need two files, one to make the changes, one to reverse them. Personally, I would just start trying stuff to see what works.

{END} (aka down left) maps to "keycode 87 (keysym 0xffb1, KP_1)"

{PgDn} (aka down right) maps to "keycode 89 (keysym 0xffb3, KP_3)"

{HOME} (aka up left) maps to "keycode 79 (keysym 0xffb7, KP_7)"

{PgUp} (aka up right) maps to "keycode 81 (keysym 0xffb9, KP_9)"


Reply via email to