我没有使用像Gnome或KDE这样的大型DE并没有使用xset命令更改键盘速率:

xset r rate 250 70

但是在系统挂起(通过pm-suspend)后,此设置会丢失,因为udev会删除并再次添加所有设备。
  • 我尝试使用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上下文中不可用。
  • 我尝试使用xorg config,但只找到更改键盘布局的选项,即XkbLayoutXkbOptions

  • 有什么方法可以在系统挂起后自动恢复键盘设置?

    最佳答案

    通过添加自定义脚本/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

    10-07 19:46