Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't send Shift+Tab (it sends Tab) #237

Open
Rush-iam opened this issue Apr 4, 2023 · 1 comment
Open

Can't send Shift+Tab (it sends Tab) #237

Rush-iam opened this issue Apr 4, 2023 · 1 comment

Comments

@Rush-iam
Copy link

Rush-iam commented Apr 4, 2023

Can't send Shift+Tab (it sends Tab)

  • client version - latest commit here
  • OS - ChromeOS 112
  • Browser - Chrome 112
  • command: xpra start --bind-ws=0.0.0.0:9999
@s-kotte
Copy link

s-kotte commented Jul 5, 2023

Can confirm that Shift + Tab does not work with the html5 client. Caps + Tab seems to work. With xpra on a Windows computer shift tab works fine.

xpra version: 4.4.6
html5-client version: 7.0

Tested with Firefox and Chrome, for testing you can use any program e.g. gedit
xpra logs:

2023-07-05 17:09:55,204 will try levels: [1, 5, 0, 4, 3, 7, 2, 6]
2023-07-05 17:09:55,204 do_get_keycode(16, 'Shift_L', True, ['shift'], 16, 'Shift', 0)=50 (level=0, shift=True, mode=0, keysyms=['Shift_L'])
2023-07-05 17:09:55,204 not toggling any modifiers state for keysyms=['Shift_L']
2023-07-05 17:09:55,204 process_key_action(['key-action', 1, 'Shift_L', True, ('shift',), 16, 'Shift', 16, 0]) server keycode=50, group=0
2023-07-05 17:09:55,204 set_keyboard_layout_group(0) ignored, no layout groups support
2023-07-05 17:09:55,204 set_keyboard_layout_group(0) ignored, value unchanged
2023-07-05 17:09:55,205 filtered_modifiers_set([])=set()
2023-07-05 17:09:55,205 modifier 'shift' ignored (in ignored keynames=['Shift_L', 'Shift_R'])
2023-07-05 17:09:55,206 filtered_modifiers_set(['shift'])=set()
2023-07-05 17:09:55,206 handle_key((1, True, 'Shift_L', 16, 50, ['shift'], True, True))
2023-07-05 17:09:55,206 handle keycode pressing    50: key 'Shift_L'
2023-07-05 17:09:55,207 fake_key(50, True)
2023-07-05 17:09:55,210 will try levels: [1, 5, 0, 4, 3, 7, 2, 6]
2023-07-05 17:09:55,210 do_get_keycode(9, 'Tab', True, ['shift'], 9, 'Tab', 0)=23 (level=0, shift=True, mode=0, keysyms=['Tab', 'ISO_Left_Tab'])
2023-07-05 17:09:55,210 removing 'shift' from modifiers
2023-07-05 17:09:55,210 process_key_action(['key-action', 1, 'Tab', True, ('shift',), 9, 'Tab', 9, 0]) server keycode=23, group=0
2023-07-05 17:09:55,211 set_keyboard_layout_group(0) ignored, no layout groups support
2023-07-05 17:09:55,211 set_keyboard_layout_group(0) ignored, value unchanged
2023-07-05 17:09:55,211 filtered_modifiers_set(['shift'])={'shift'}
2023-07-05 17:09:55,211 filtered_modifiers_set([])=set()
2023-07-05 17:09:55,211 make_keymask_match([]) current mask: {'shift'}, wanted: set(), ignoring=23/['Tab'], keys_pressed={50: 'Shift_L'}
2023-07-05 17:09:55,211 found the key pressed for shift: Shift_L
2023-07-05 17:09:55,211 keynames(shift)=['Shift_L', 'Shift_R'], keycodes=[50, 62], nuisance=False, nuisance keys={'lock', 'mod2'}
2023-07-05 17:09:55,212 change_mask(remove) [] modifier 'shift' using keycode 50
2023-07-05 17:09:55,212 change_mask({'shift'}, False, remove) failed=[]
2023-07-05 17:09:55,212 change_mask(set(), True, add) failed=[]
2023-07-05 17:09:55,212 is_modifier(23) not found
2023-07-05 17:09:55,212 handle_key((1, True, 'Tab', 9, 23, [], False, True))
2023-07-05 17:09:55,212 handle keycode pressing    23: key 'Tab'
2023-07-05 17:09:55,213 fake_key(23, True)
2023-07-05 17:09:55,295 process_key_action(['key-action', 1, 'Tab', False, ('shift',), 9, 'Tab', 9, 0]) server keycode=23, group=0
2023-07-05 17:09:55,295 set_keyboard_layout_group(0) ignored, no layout groups support
2023-07-05 17:09:55,295 set_keyboard_layout_group(0) ignored, value unchanged
2023-07-05 17:09:55,296 filtered_modifiers_set([])=set()
2023-07-05 17:09:55,296 filtered_modifiers_set(['shift'])={'shift'}
2023-07-05 17:09:55,296 make_keymask_match(['shift']) current mask: set(), wanted: {'shift'}, ignoring=23/['Tab'], keys_pressed={50: 'Shift_L', 23: 'Tab'}
2023-07-05 17:09:55,296 change_mask(set(), False, remove) failed=[]
2023-07-05 17:09:55,296 found the key pressed for shift: Shift_L
2023-07-05 17:09:55,296 keynames(shift)=['Shift_L', 'Shift_R'], keycodes=[50, 62], nuisance=False, nuisance keys={'lock', 'mod2'}
2023-07-05 17:09:55,297 change_mask(add) ['shift'] modifier 'shift' using keycode 50
2023-07-05 17:09:55,297 change_mask({'shift'}, True, add) failed=[]
2023-07-05 17:09:55,297 is_modifier(23) not found
2023-07-05 17:09:55,297 handle_key((1, False, 'Tab', 9, 23, ['shift'], False, True))
2023-07-05 17:09:55,297 handle keycode unpressing  23: key 'Tab'
2023-07-05 17:09:55,297 fake_key(23, False)
2023-07-05 17:09:55,298 process_key_action(['key-action', 1, 'Shift_L', False, (), 16, 'shift', 16, 0]) server keycode=50, group=0
2023-07-05 17:09:55,298 set_keyboard_layout_group(0) ignored, no layout groups support
2023-07-05 17:09:55,298 set_keyboard_layout_group(0) ignored, value unchanged
2023-07-05 17:09:55,299 modifier 'shift' ignored (in ignored keynames=['Shift_L', 'Shift_R'])
2023-07-05 17:09:55,299 filtered_modifiers_set(['shift'])=set()
2023-07-05 17:09:55,299 filtered_modifiers_set([])=set()
2023-07-05 17:09:55,299 handle_key((1, False, 'Shift_L', 16, 50, [], True, True))
2023-07-05 17:09:55,299 handle keycode unpressing  50: key 'Shift_L'
2023-07-05 17:09:55,299 fake_key(50, False)

html5-client logs:

clipboard pending= false buffer= <empty string> Utilities.js:777:30
keyboard last keycode pressed= 0 , keycode= 16 , pressed= true , str= Shift Utilities.js:777:30
keyboard processKeyEvent( true ,  
keydown Shift { target: textarea#pasteboard, key: "Shift", charCode: 0, keyCode: 16 }
 ) key= ShiftLeft keycode= 16 dead= false Utilities.js:777:30
keyboard _get_keyboard_layout() keyboard_layout= de Utilities.js:777:30
keyboard passing clipboard modifier key event to browser: Shift_L Utilities.js:777:30
keyboard last keycode pressed= 16 , keycode= 9 , pressed= true , str= Tab Utilities.js:777:30
keyboard processKeyEvent( true ,  
keydown Shift { target: textarea#pasteboard, key: "Tab", charCode: 0, keyCode: 9 }
 ) key= Tab keycode= 9 dead= false Utilities.js:777:30
keyboard _get_keyboard_layout() keyboard_layout= de Utilities.js:777:30
keyboard last keycode pressed= 9 , keycode= 9 , pressed= false , str= Tab Utilities.js:777:30
keyboard processKeyEvent( false ,  
keyup Shift { target: textarea#pasteboard, key: "Tab", charCode: 0, keyCode: 9 }
 ) key= Tab keycode= 9 dead= false Utilities.js:777:30
keyboard _get_keyboard_layout() keyboard_layout= de Utilities.js:777:30
keyboard last keycode pressed= 0 , keycode= 16 , pressed= false , str= Shift Utilities.js:777:30
keyboard processKeyEvent( false ,  
keyup { target: textarea#pasteboard, key: "Shift", charCode: 0, keyCode: 16 }
 ) key= ShiftLeft keycode= 16 dead= false Utilities.js:777:30
keyboard passing clipboard modifier key event to browser: Shift_L Utilities.js:777:30
visibilitychange hidden= true connected= true Utilities.js:789:28
visibilitychange hidden= false connected= true Utilities.js:789:28
visibilitychange hidden= true connected= true Utilities.js:789:28

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants