使 xinput 更改永久生效

使 xinput 更改永久生效

我不喜欢鼠标滚轮点击执行“粘贴”的默认功能。我可以通过执行以下操作来更改它:

$ xinput set-button-map 12 1 0 3 4 5 6 7

这工作正常,但如果我重新启动,我必须记得再做一次。

我的问题是,如果我需要重新启动等,我该如何让这一点自动发生?

我正在使用 Ubuntu 12.04

答案1

您必须在.xsessionrc文件中添加该行。为此,请使用以下命令:

echo "xinput set-button-map 12 1 0 3 4 5 6 7" >> ~/.xsessionrc

答案2

您可以在每次登录时运行该命令,也可以将其放入 X.org 配置 ( /etc/X11/xorg.conf) 中,如下所示:

Section "InputDevice"
    Identifier     "Logitech USB-PS/2 Optical Mouse"
    Driver         "evdev"
    Option         "Device" "/dev/input/by-id/usb-Logitech_USB-PS_2_Optical_Mouse-event-mouse"
    Option         "ButtonMapping" "12 1 0 3 4 5 6 7"
EndSection

我不知道您设备的标识符和驱动程序选项,但您可以xinput通过在 中进行嗅探来获取这些信息/dev/input

答案3

如果你使用startx或init 3,xessionrc是一个很好的解决方案

echo "xinput..yourcommand" >> $HOME/.xsessionrc

如果您在 init 4/5 上使用 xfce,一个好的解决方案是创建一个指向脚本的 .destkop 文件,您可以在其中输入命令。

例如

vim  .config/autostart/xinput.desktop
    [Desktop Entry]
    Hidden=false
    Version=1.0
    Name=xinput
    Name[no]=xinput
    Name[pt_BR]=xinput
    Name[ru]=xinput
    Name[sl]=xinput
    Name[sv]=xinput
    Comment=xinput
    Comment[no]=xinput
    Icon=xinput
    Terminal=false
    Type=Application
    StartupNotify=false
    Categories=System;
    Exec=/home/you/scripts/xinput.sh
    RunHook=0

vim /home/you/scripts/xinput.sh

#!/bin/bash
xinput..yourcommand

使其可执行

chmod +x /home/you/scripts/xinput.sh

下次登录时该命令将运行。

相关内容