Have you checked for updates in Settings > System?: [Yes/No] yes
Please describe your issue in as much detail as possible:
Tab and arrow keys of on screen keyboard do not work correctly in some tools in Desktop Mode.
I've had this issue since getting the Steam Deck months ago and over many SW updates.
Never had issues with any physical keyboard.
Steps for reproducing this issue:
In Konsole the left key seems to do a ctrl+c while right key does a ctrl+d (closes window). However tab and up/down work as expected.
In vscode editor window and terminal (which goes to bash, same as Konsole), tab does nothing, but all 4 arrow keys work correctly.
I ran xev to find out which keys are detected as pressed from the virtual keyboard and results are:
tab key:
KeyPress event, serial 40, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 13543639, (240,223), root:(791,521),
state 0x0, keycode 156 (keysym 0x1000009, (no name)), same_screen YES,
XLookupString gives 1 bytes: (09) " "
XmbLookupString gives 1 bytes: (09) " "
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 13543639, (240,223), root:(791,521),
state 0x0, keycode 156 (keysym 0x1000009, (no name)), same_screen YES,
XLookupString gives 1 bytes: (09) " "
XFilterEvent returns: False
up key:
KeyPress event, serial 58, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 13652120, (55,418), root:(606,716),
state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 58, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 13652120, (55,418), root:(606,716),
state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
down key:
KeyPress event, serial 58, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 13720198, (132,367), root:(683,665),
state 0x0, keycode 116 (keysym 0xff54, Down), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 58, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 13720199, (132,367), root:(683,665),
state 0x0, keycode 116 (keysym 0xff54, Down), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
left key:
KeyPress event, serial 58, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 13830974, (58,370), root:(609,668),
state 0x0, keycode 113 (keysym 0xff51, Left), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 58, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 13830974, (58,370), root:(609,668),
state 0x0, keycode 113 (keysym 0xff51, Left), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 58, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 13830976, (58,370), root:(609,668),
state 0x0, keycode 156 (keysym 0x1000003, (no name)), same_screen YES,
XLookupString gives 1 bytes: (03) ""
XmbLookupString gives 1 bytes: (03) ""
XFilterEvent returns: False
KeyRelease event, serial 58, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 13830976, (58,370), root:(609,668),
state 0x0, keycode 156 (keysym 0x1000003, (no name)), same_screen YES,
XLookupString gives 1 bytes: (03) ""
XFilterEvent returns: False
right key:
KeyPress event, serial 76, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 14112784, (76,324), root:(627,622),
state 0x0, keycode 114 (keysym 0xff53, Right), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 76, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 14112784, (76,324), root:(627,622),
state 0x0, keycode 114 (keysym 0xff53, Right), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 76, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 14112785, (76,324), root:(627,622),
state 0x0, keycode 156 (keysym 0x1000004, (no name)), same_screen YES,
XLookupString gives 1 bytes: (04) ""
XmbLookupString gives 1 bytes: (04) ""
XFilterEvent returns: False
KeyRelease event, serial 76, synthetic NO, window 0x1e200001,
root 0x529, subw 0x0, time 14112786, (76,324), root:(627,622),
state 0x0, keycode 156 (keysym 0x1000004, (no name)), same_screen YES,
XLookupString gives 1 bytes: (04) ""
XFilterEvent returns: False
There's also a lot of repeated events like this for the tab and left/right keys:
MappingNotify event, serial 58, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 156, count 1
I can't figure out what those keysims 0x100000n or keycode 156 are but it looks like they are non-standard and some apps can't process them correctly. I've looked at xkb but can't figure out how the keycode 156 gets mapped to those keysyms or how to change it.
Those keys are especially useful in the terminal where it's crazy slow to type everything by hand without autocomplete (tab key).
Would it be possible to have the on screen keyboard output standard keycodes only? Or is there some way to remap those keys on my side?
Your system information
Please describe your issue in as much detail as possible:
Tab and arrow keys of on screen keyboard do not work correctly in some tools in Desktop Mode. I've had this issue since getting the Steam Deck months ago and over many SW updates. Never had issues with any physical keyboard.
Steps for reproducing this issue:
xev
to find out which keys are detected as pressed from the virtual keyboard and results are:tab key:
up key:
down key:
left key:
right key:
There's also a lot of repeated events like this for the tab and left/right keys:
I can't figure out what those keysims 0x100000n or keycode 156 are but it looks like they are non-standard and some apps can't process them correctly. I've looked at
xkb
but can't figure out how the keycode 156 gets mapped to those keysyms or how to change it. Those keys are especially useful in the terminal where it's crazy slow to type everything by hand without autocomplete (tab key). Would it be possible to have the on screen keyboard output standard keycodes only? Or is there some way to remap those keys on my side?