我在哪里粘贴“xinput”命令,以便在GNOME启动时执行它?

在我的Thinkpad上,我需要在终端中执行类似的操作:

xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Middle Button Emulation" 8 1 

所以我的触摸板上的2个按钮模拟鼠标中键。 现在我需要在每次启动GNOMe或X或其他任何内容时执行此行,以便它“正常工作”。

我试过〜/ .xsession或〜/ .bashrc但无济于事。 我应该把它放在GNOME启动脚本或/ etc / X中吗?

我正在使用Ubuntu 11.10。

我正在使用Enlightenment DM,但这与其他DM /桌面相关。 我使用xsession启动会话,所以我最初将xinput命令放在〜/ .xsession中,这并未改变我想要更改的所有设置。 只有其中一些 。 我期待全部或没有更改,所以我以1秒的间隔为我的.xsession添加了一个10-interation循环,每次都运行xinput命令并检查设置是否已应用。 令我惊讶的是,所有设置都在第一次迭代后应用。

这意味着你的DM可以覆盖你的xinput设置,因为启动你的DM命令(在我的情况下是E17)是.xsession文件中的最后一个,这个文件不适合这个。

我在〜/ .profile中添加了以下行,这解决了这个问题:

 # don't run unless we're being invoked from an xwindows session if [[ -n ${DISPLAY} ]]; then # set your devices names here pointer1="IBM TrackPoint" pointer2="Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint" pointer3="Logitech USB Trackball" id1=$(xinput | awk -F= "/$pointer1.*pointer/ {print \$2}" | cut -f1) id2=$(xinput | awk -F= "/$pointer2.*pointer/ {print \$2}" | cut -f1) id3=$(xinput | awk -F= "/$pointer3.*pointer/ {print \$2}" | cut -f1) if [[ -n "${id1}" ]]; then xinput --set-button-map "${id1}" 1 2 3 4 5 6 7 xinput set-prop "${id1}" "Evdev Wheel Emulation Axes" 6 7 4 5 xinput set-prop "${id1}" "Evdev Wheel Emulation" 1 xinput set-prop "${id1}" "Evdev Wheel Emulation Button" 2 xinput set-prop "${id1}" "Evdev Middle Button Emulation" 0 fi if [[ -n "${id2}" ]]; then xinput --set-button-map "${id2}" 1 2 3 4 5 6 7 xinput set-prop "${id2}" "Evdev Wheel Emulation Axes" 6 7 4 5 xinput set-prop "${id2}" "Evdev Wheel Emulation" 1 xinput set-prop "${id2}" "Evdev Wheel Emulation Button" 2 xinput set-prop "${id2}" "Evdev Middle Button Emulation" 0 fi if [[ -n "${id3}" ]]; then xinput --set-button-map "${id3}" 1 2 3 4 5 6 7 8 9 xinput set-prop "${id3}" "Evdev Wheel Emulation Axes" 6 7 4 5 xinput set-prop "${id3}" "Evdev Wheel Emulation" 1 xinput set-prop "${id3}" "Evdev Wheel Emulation Button" 8 xinput set-prop "${id3}" "Evdev Middle Button Emulation" 1 fi fi 

PS。 set-int-prop已被弃用,支持set-prop(man xinput)。

希望这有助于某人。

将命令直接添加到启动应用程序。 在命令字段中。

要么

制作一个简单的脚本并将脚本添加到启动应用程序。

/etc/X11/Xsession.d/为它创建一个文件。

这就是我在Ubuntu 14.04中从终端做到的方式:

1)检查您的设备名称:

 xinput list 

2)查看您设备的可用选项:

 xinput list-props "Your Device Name" 

3)编辑设置(在重启/关闭后使设置保持一致只需将此命令添加到启动应用程序 ):

 xinput set-prop "Your Device Name" "Option Name" "Value" 

这是我用来在触摸板中激活锁定拖动的示例命令:

 xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Locked Drags" 1 

要激活/更改另一个选项,只需在设备可用选项中查找并使用它们,直到获得所需结果,然后将命令添加到启动应用程序,您就完成了! 希望能帮助到你! 🙂