You are not logged in.
I've got KVM to manage two laptops ( Arch + Mac ) with one keyboard. So far everything works fine if I start Xorg with the external keyboard active for Arch - it is recognized just fine and works okay.
Then once I switch over to Mac and then back to Arch - the Windows key and arrow keys on the external keyboard are not working. I have to restart X in order to fix that.
I couldn't find anything suspicious in .local/share/Xorg.0.log - looks like it recognizes the keyboard just fine initially and after I switch from Mac to Arch.
The laptop keyboard works fine all the time.
I don't have any specific settings related to the keyboard anywhere in /etc/xorg/conf.d/*
How can I troubleshoot this issue?
Last edited by jdevelop (2021-10-21 15:34:16)
Offline
For clarity : this is about a Keyboard Video Monitor switch, not a virtual machine ?
What brand and model is the KVM-switch ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Right, this is for KVM device. And I openly think it has nothing to do with the issue - if I plug the keyboard to the Arch laptop directly - exactly the same thing happens:
- kill X
- plug in the USB keyboard
- start X
- the keyboard works fine, all keys are recognized
- unplug the USB keyboard
- plug in USB the USB keyboard
- arrow keys don't work.
I see no changes in
> setxkbmap -print
xkb_keymap {
xkb_keycodes { include "xfree86+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete+ledscroll(group_lock)" };
xkb_symbols { include "pc+us+inet(pc105)+ru(ruu):2+capslock(grouplock)" };
xkb_geometry { include "pc(pc105)" };
};Some output from xev:
- external USB keyboard:
KeyPress event, serial 39, synthetic NO, window 0x2600001,
root 0x7af, subw 0x0, time 533147, (244,1024), root:(2172,1112),
state 0x0, keycode 113 (keysym 0xffea, Alt_R), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 39, synthetic NO, window 0x2600001,
root 0x7af, subw 0x0, time 533266, (244,1024), root:(2172,1112),
state 0x8, keycode 113 (keysym 0xffea, Alt_R), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 39, synthetic NO, window 0x2600001,
root 0x7af, subw 0x0, time 534387, (244,1024), root:(2172,1112),
state 0x0, keycode 114 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 39, synthetic NO, window 0x2600001,
root 0x7af, subw 0x0, time 534490, (244,1024), root:(2172,1112),
state 0x0, keycode 114 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False From the laptop one:
KeyPress event, serial 39, synthetic NO, window 0x2600001,
root 0x7af, subw 0x0, time 536175, (244,1024), root:(2172,1112),
state 0x0, keycode 113 (keysym 0xff51, Left), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x2600001,
root 0x7af, subw 0x0, time 536269, (244,1024), root:(2172,1112),
state 0x0, keycode 113 (keysym 0xff51, Left), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x2600001,
root 0x7af, subw 0x0, time 536724, (244,1024), root:(2172,1112),
state 0x0, keycode 114 (keysym 0xff53, Right), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x2600001,
root 0x7af, subw 0x0, time 536827, (244,1024), root:(2172,1112),
state 0x0, keycode 114 (keysym 0xff53, Right), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: FalseAs you can see - the keycodes are the same ( 113 and 114 ) - but the keysyms are different.
I wonder what could be wrong here, but evidently the issue is not related to the hardware.
Offline
I was able to fix this by using evdev input driver instead of xorg / xfree86 in /etc/X11/xorg.conf.d/01-keyboard-layout.conf:
Section "InputClass"
Identifier "Keyboard Defaults"
MatchIsKeyboard "yes"
Option "AutoRepeat" "500 30"
Option "XkbRules" "evdev"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ",ruu"
Option "XkbOptions" "grp:caps_toggle,grp_led:scroll"
EndSectionSo now in
setxkbmap -printit lists as evdev+aliases
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete+ledscroll(group_lock)" };
xkb_symbols { include "pc+us+ru(ruu):2+inet(evdev)+capslock(grouplock)" };
xkb_geometry { include "pc(pc105)" };
};Offline
That suggests your keyboard works better with evdev then with the (default) libinput driver.
You may find https://wiki.archlinux.org/title/Xorg#Input_devices interesting/useful .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline