如何在linux

时间:2017-06-01 02:19:58

标签: touchscreen xinput

如何在linux中区分具有相同pid / vid的两个usb触摸屏设备 我有两个相同的USB触摸屏设备。我想在启动计算机时使用它们而不会出错。所以我需要使用“xinput map-to-output”来区分它们。但是,它们几乎是一样的。它们具有相同的PID / VID,相同的供应商,相同的制造商和相同的名称。

新输出map-to-output .XID有时会发生变化,而shell无法始终有用。我不知道如何在XID交换时解决它。 关于如何解决这个问题的任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:0)

道歉答案简短。我将尝试抽出时间来更新它,并对我实际做的事情发表一些评论。

我今天遇到了这个问题(在搜索信息时遇到了你的问题)。

这是我测试一种解决方案的方式。

#!/bin/sh

TOUCH_XINPUT_NAME=ET2494
export DISPLAY=:0

FIRST_ID=$(xinput | grep $TOUCH_XINPUT_NAME | sed -n '1s/.*id=\([0-9]*\).*/\1 /p')
SECOND_ID=$(xinput | grep $TOUCH_XINPUT_NAME | sed -n '2s/.*id=\([0-9]*\).*/\1 /p')

echo First id >> touch-sysfs-node.log
echo $FIRST_ID >> touch-sysfs-node.log
udevadm info -q property -n $(xinput --list-props $FIRST_ID | grep 260 | 
awk '{print substr($4, 2, length($4) - 2);}') | grep ID_PATH= | sed -n 's/ID_PATH=\(.*\)/\1/ ; p' >> touch-sysfs-node.log

echo Second id >> touch-sysfs-node.log
echo $SECOND_ID >> touch-sysfs-node.log
udevadm info -q property -n $(xinput --list-props $SECOND_ID | grep 260 | 
awk '{print substr($4, 2, length($4) - 2);}') | grep ID_PATH= | sed -n 's/ID_PATH=\(.*\)/\1/ ; p' >> touch-sysfs-node.log

echo ----------------------- >> touch-sysfs-node.log