[winswitch] Keypads number output wring value.

Antoine Martin antoine at nagafix.co.uk
Wed Apr 1 16:58:48 BST 2020


On 01/04/2020 22:39, carl langlois via shifter-users wrote:
> Hi,
> 
> I am having issue with the keypad on my keyboard. When pressing number the
> character display is not the number . i.e when i press 5 i got a E in the
> terminal.
Please create a ticket for this issue, and make sure to record as many
details as possible from the bug reporting guidelines:
https://xpra.org/trac/wiki/ReportingBugs

The bare minimum would be the full OS and versions details for both
client and server. And ideally more (logs, keyboard layout, etc):
https://xpra.org/trac/wiki/Keyboard#ReportingBugs

If this is a recent regression, you may be able to fix things by
starting your server with:
XPRA_SIMULATE_MODIFIERS=0 xpra start ...

Cheers,
Antoine




> 
> I have enable the debug keyboard logging. When i press 5 on the keypad the
> verbose output this.
> 
> On the client side :
> 
> 2020-04-01 11:33:58,596 parse_key_event(<Gdk.EventKey object at
> 0x0000000000bab400 (void at 0x0000000023108500)>, True)=<GTKKeyEvent
> object, contents: {'modifiers': ['mod2'], 'keyname': 'KP_5', 'keyval':
> 65461, 'keycode': 101, 'group': 0, 'string': '5', 'pressed': True}>
> 2020-04-01 11:33:58,639 handle_key_action(ClientWindow(16), <GTKKeyEvent
> object, contents: {'modifiers': ['mod2'], 'keyname': 'KP_5', 'keyval':
> 65461, 'keycode': 101, 'group': 0, 'string': '5', 'pressed': True}>) wid=16
> 2020-04-01 11:33:58,670 key_handled_as_shortcut: shortcut(KP_5)=None
> 2020-04-01 11:33:58,672 send_delayed_key() delayed_event=None
> 2020-04-01 11:33:58,674 send_key_action(16, <GTKKeyEvent object, contents:
> {'modifiers': ['mod2'], 'keyname': 'KP_5', 'keyval': 65461, 'keycode': 101,
> 'group': 0, 'string': '5', 'pressed': True}>)
> 2020-04-01 11:33:58,706 mask_to_names(<flags 0 of type Gdk.ModifierType>)
> GetKeyState(VK_NUMLOCK)=1, names=['mod2']
> 2020-04-01 11:33:58,708 parse_key_event(<Gdk.EventKey object at
> 0x0000000000bab400 (void at 0x0000000023110460)>, False)=<GTKKeyEvent
> object, contents: {'modifiers': ['mod2'], 'keyname': 'KP_5', 'keyval':
> 65461, 'keycode': 101, 'group': 0, 'string': '5', 'pressed': False}>
> 2020-04-01 11:33:58,735 handle_key_action(ClientWindow(16), <GTKKeyEvent
> object, contents: {'modifiers': ['mod2'], 'keyname': 'KP_5', 'keyval':
> 65461, 'keycode': 101, 'group': 0, 'string': '5', 'pressed': False}>) wid=16
> 2020-04-01 11:33:58,739 key_handled_as_shortcut: shortcut(KP_5)=None
> 2020-04-01 11:33:58,741 send_delayed_key() delayed_event=None
> 2020-04-01 11:33:58,774 send_key_action(16, <GTKKeyEvent object, contents:
> {'modifiers': ['mod2'], 'keyname': 'KP_5', 'keyval': 65461, 'keycode': 101,
> 'group': 0, 'string': '5', 'pressed': False}>)
> 2020-04-01 11:33:59,201 mask_to_names(<flags 0 of type Gdk.ModifierType>)
> GetKeyState(VK_NUMLOCK)=1, names=['mod2']
> 2020-04-01 11:33:59,208 mask_to_names(<flags 0 of type Gdk.ModifierType>)
> GetKeyState(VK_NUMLOCK)=1, names=['mod2']
> 2020-04-01 11:33:59,236 mask_to_names(<flags 0 of type Gdk.ModifierType>)
> GetKeyState(VK_NUMLOCK)=1, names=['mod2']
> 2020-04-01 11:33:59,240 mask_to_names(<flags 0 of type Gdk.ModifierType>)
> GetKeyState(VK_NUMLOCK)=1, names=['mod2']
> 2020-04-01 11:34:02,953 mask_to_names(<flags 0 of type Gdk.ModifierType>)
> GetKeyState(VK_NUMLOCK)=1, names=['mod2']
> 2020-04-01 11:34:02,959 mask_to_names(<flags GDK_BUTTON1_MASK of type
> Gdk.ModifierType>) GetKeyState(VK_NUMLOCK)=1, names=['mod2']
> 
> 
> On the server side :
> 2020-04-01 11:37:00,323 client   3 @22.200 mask_to_names(<flags 0 of type
> Gdk.ModifierType>) GetKeyState(VK_NUMLOCK)=1, names=['mod2']
> 2020-04-01 11:37:00,329 client   3 @22.203 parse_key_event(<Gdk.EventKey
> object at 0x0000000000bbd720 (void at 0x0000000023105a00)>,
> True)=<GTKKeyEvent object, contents: {'modifiers': ['mod2'], 'keyname':
> 'KP_5', 'keyval': 65461, 'keycode': 101, 'group': 0, 'string': '5',
> 'pressed': True}>
> 2020-04-01 11:37:00,388 client   3 @22.251
> handle_key_action(ClientWindow(16), <GTKKeyEvent object, contents:
> {'modifiers': ['mod2'], 'keyname': 'KP_5', 'keyval': 65461, 'keycode': 101,
> 'group': 0, 'string': '5', 'pressed': True}>) wid=16
> 2020-04-01 11:37:00,398 client   3 @22.253 key_handled_as_shortcut:
> shortcut(KP_5)=None
> 2020-04-01 11:37:00,398 client   3 @22.255 send_delayed_key()
> delayed_event=None
> 2020-04-01 11:37:00,412 client   3 @22.284 send_key_action(16, <GTKKeyEvent
> object, contents: {'modifiers': ['mod2'], 'keyname': 'KP_5', 'keyval':
> 65461, 'keycode': 101, 'group': 0, 'string': '5', 'pressed': True}>)
> 2020-04-01 11:37:00,436 client   3 @22.290 mask_to_names(<flags 0 of type
> Gdk.ModifierType>) GetKeyState(VK_NUMLOCK)=1, names=['mod2']
> 2020-04-01 11:37:00,436 will try levels: [0, 4, 1, 5, 2, 6, 3, 7]
> 2020-04-01 11:37:00,436 do_get_keycode(101, 'KP_5', True, ['mod2'], 0)=84
> (level=1, shift=False, mode=0)
> 2020-04-01 11:37:00,436 adding 'shift' to modifiers
> 2020-04-01 11:37:00,436 process_key_action(['key-action', 16, b'KP_5',
> True, (b'mod2',), 65461, b'5', 101, 0]) server keycode=84, group=0
> 2020-04-01 11:37:00,436 set_keyboard_layout_group(0)
> config=KeyboardConfig(us /  / None), current keyboard group=0
> 2020-04-01 11:37:00,436 filtered_modifiers_set(['mod2'])={'mod2'}
> 2020-04-01 11:37:00,437 filtered_modifiers_set(['mod2', 'shift'])={'mod2',
> 'shift'}
> 2020-04-01 11:37:00,437 make_keymask_match(['mod2', 'shift']) current mask:
> {'mod2'}, wanted: {'mod2', 'shift'}, ignoring=84/['KP_5'], keys_pressed={}
> 2020-04-01 11:37:00,437 change_mask(set(), False, remove) failed=[]
> 2020-04-01 11:37:00,437 keynames(shift)={'Shift_L', 'Shift_R'},
> keycodes=[50, 62], nuisance=False, nuisance keys={'lock', 'mod2'}
> 2020-04-01 11:37:00,437 change_mask(add) ['mod2', 'shift'] modifier 'shift'
> using keycode 50
> 2020-04-01 11:37:00,437 change_mask({'shift'}, True, add) failed=[]
> 2020-04-01 11:37:00,438 is_modifier(84) not found
> 2020-04-01 11:37:00,438 handle_key((16, True, 'KP_5', 65461, 84, ['mod2',
> 'shift'], False, True))
> 2020-04-01 11:37:00,438 handle keycode pressing    84: key 'KP_5'
> 2020-04-01 11:37:00,438 fake_key(84, True)
> 2020-04-01 11:37:00,438 scheduling key repeat timer with delay 500 for KP_5
> / 84
> 2020-04-01 11:37:00,449 client   3 @22.316 parse_key_event(<Gdk.EventKey
> object at 0x0000000000bbd680 (void at 0x0000000023105a00)>,
> False)=<GTKKeyEvent object, contents: {'modifiers': ['mod2'], 'keyname':
> 'KP_5', 'keyval': 65461, 'keycode': 101, 'group': 0, 'string': '5',
> 'pressed': False}>
> 2020-04-01 11:37:00,449 client   3 @22.318
> handle_key_action(ClientWindow(16), <GTKKeyEvent object, contents:
> {'modifiers': ['mod2'], 'keyname': 'KP_5', 'keyval': 65461, 'keycode': 101,
> 'group': 0, 'string': '5', 'pressed': False}>) wid=16
> 2020-04-01 11:37:00,449 client   3 @22.319 key_handled_as_shortcut:
> shortcut(KP_5)=None
> 2020-04-01 11:37:00,449 client   3 @22.319 send_delayed_key()
> delayed_event=None
> 2020-04-01 11:37:00,450 client   3 @22.320 send_key_action(16, <GTKKeyEvent
> object, contents: {'modifiers': ['mod2'], 'keyname': 'KP_5', 'keyval':
> 65461, 'keycode': 101, 'group': 0, 'string': '5', 'pressed': False}>)
> 2020-04-01 11:37:00,450 process_key_action(['key-action', 16, b'KP_5',
> False, (b'mod2',), 65461, b'5', 101, 0]) server keycode=84, group=0
> 2020-04-01 11:37:00,450 set_keyboard_layout_group(0)
> config=KeyboardConfig(us /  / None), current keyboard group=0
> 2020-04-01 11:37:00,450 filtered_modifiers_set(['shift', 'mod2'])={'mod2',
> 'shift'}
> 2020-04-01 11:37:00,450 filtered_modifiers_set(['mod2'])={'mod2'}
> 2020-04-01 11:37:00,450 make_keymask_match(['mod2']) current mask: {'mod2',
> 'shift'}, wanted: {'mod2'}, ignoring=84/['KP_5'], keys_pressed={84: 'KP_5'}
> 2020-04-01 11:37:00,451 keynames(shift)={'Shift_L', 'Shift_R'},
> keycodes=[50, 62], nuisance=False, nuisance keys={'lock', 'mod2'}
> 2020-04-01 11:37:00,451 change_mask(remove) ['mod2'] modifier 'shift' using
> keycode 50
> 2020-04-01 11:37:00,451 change_mask({'shift'}, False, remove) failed=[]
> 2020-04-01 11:37:00,451 change_mask(set(), True, add) failed=[]
> 2020-04-01 11:37:00,452 is_modifier(84) not found
> 2020-04-01 11:37:00,452 handle_key((16, False, 'KP_5', 65461, 84, ['mod2'],
> False, True))
> 2020-04-01 11:37:00,452 handle keycode unpressing  84: key 'KP_5'
> 2020-04-01 11:37:00,452 fake_key(84, False)
> 2020-04-01 11:37:08,817 client   3 @30.673 mask_to_names(<flags 0 of type
> Gdk.ModifierType>) GetKeyState(VK_NUMLOCK)=1, names=['mod2']
> 2020-04-01 11:37:08,817 client   3 @30.679 mask_to_names(<flags
> GDK_BUTTON1_MASK of type Gdk.ModifierType>) GetKeyState(VK_NUMLOCK)=1,
> names=['mod2']
> 2020-04-01 11:37:08,817 clear_keys_pressed()
> 
> 
> Not sure what to look for!
> 
> 
> Thanks and Regards
> 
> cl
> _______________________________________________
> shifter-users mailing list
> shifter-users at lists.devloop.org.uk
> https://lists.devloop.org.uk/mailman/listinfo/shifter-users
> 



More information about the shifter-users mailing list