2 weeks ago - last edited 2 weeks ago
Hi all,
After some hacking I've gotten my UX8406 to auto-switch its lower display upon keyboard removal/dock nicely.
System: UX8406
OS: Linux (Devuan daedalus x86_64)
Desktop: XFCE (XWindows)
My initial approach was to add rules to udev, but docking and undocking the keyboard is extremely noisy using this method, as the pogo pin connections are not debounced wrt. USB events, or udev itself generates separate events for each sub-device comprising the keyboard+touchpad composite device(s); the resulting 'storm' of desktop re-configurations via the xrandr screen tool is ugly, causing multiple rapid reflashes of the screen and sometimes even crashes the desktop.
So, the simplest/best method so far seems to be simply monitoring the output of the `lsusb` command for the keyboard's entry.
A simple bash script running a forever-loop, monitoring the usb device's presence or absence and calling `xrandr` on dock/detach events works nicely.
---
[/usr/local/bin/asusUX8406_kbdwatch]
#!/bin/bash me=$(basename "$0") laststate=2 while true; do sleep 3 output=$(lsusb -d 0b05:1b2c) stat=$? if [ $stat == 1 ] && [ $laststate != 1 ]; then ## kbd removed, enable lower display laststate=1 logger -p user.info "${me} KEYBOARD REMOVED" xrandr --auto && xrandr --output eDP-2 --below eDP-1 elif [ $stat == 0 ] && [ $laststate != 0 ]; then ## kbd replaced, disable lower display laststate=0 logger -p user.info "${me} KEYBOARD DOCKED" xrandr --output eDP-2 --off fi done
Hook this up to your init system, or run from a `nohup` session redirected to `/dev/null` on login or (probably easiest) run it at session startup ... for example, on my system I am member of group `video`, so installing it to `/usr/local/bin` and setting ownership to `root:video` and `sudo chmod ug+rx` allows it to be run on session login automatically.
---
Pairing your keyboard via Bluetooth For the First Time
It isn't obvious (to me at least) how one first pairs the UX8406 keyboard to Linux. Here is the procedure:
Dependency: `blueman` package and associated utils
---
Now: Has anyone figured out how to get Audio and the keyboard's multimedia keys (Fn+Func keys eg. Vol +/-, Screen brightness, keyboard LED control) working?? Please post! Thanks.
2 weeks ago
Update: Someone has been working on patches to the `asus-hid` keyboard drivers for Linux here: https://github.com/flukejones/asusctl/issues/25
... Would ASUS support consider reaching out to the author there and helping get official support for the UX8406 keyboard in USB and BT mode please? It would be amazing to have upstream official kernel support.
Thank you!