我没有使用像Gnome或KDE这样的大型DE并没有使用xset
命令更改键盘速率:
xset r rate 250 70
但是在系统挂起(通过
pm-suspend
)后,此设置会丢失,因为udev会删除并再次添加所有设备。# /etc/udev/rules.d/00-custom-keyboard.rules
ACTION=="add", SUBSYSTEM=="usb", RUN+="/usr/bin/xset r rate 250 70" # Not working
ACTION=="add", SUBSYSTEM=="usb", RUN+="touch /tmp/test" # Working pretty!
我认为第一个规则不起作用,因为
xset
实用程序需要一些上下文数据,而这些数据在evdev
上下文中不可用。 XkbLayout
和XkbOptions
有什么方法可以在系统挂起后自动恢复键盘设置?
最佳答案
通过添加自定义脚本/etc/pm/sleep.d/00-keyboard
(不仅在系统恢复上执行),解决了该问题:
#!/bin/bash
case $1 in
hibernate)
# Going to suspend to disk
;;
suspend)
# Going to suspend to RAM
;;
thaw)
# Resuming after hibernating
;;
resume)
# Resuming after suspending
echo "Restoring keyboard settings..."
/opt/scripts/keyboard.sh
;;
*)
echo "Something went wrong"
;;
esac
有关更多信息,请参见https://wiki.archlinux.org/index.php/Pm-utils#Creating_your_own_hooks。