2017-06-01 7 views
0

linuxの同じpid/vidを持つ2つのusbタッチスクリーンデバイスを区別する方法 2つの同じUSBタッチスクリーンデバイスがあります。私はコンピュータを起動するときにエラーなしでそれらを使いたい。ですから、私はそれらを区別するために "xinputのマップから出力"を使う必要があります。しかし、彼らはほとんど同じです。彼らは同じPID/VID、同じベンダー、同じ製造と同じ名前を持っています。linuxの同じpid/vidを持つ2つのusbタッチスクリーンデバイスを区別する方法

Xインプットのマップから出力へ.XIDが変更されることがあります。シェルは常に有用なものではありません。私はXIDが交換されるときにそれを解決する方法を知らない。 これを解決する方法についてのご意見はありがとうございます。

答えて

0

短い回答のお詫び。私は実際に何をしているのかについていくつかのコメントを付けて更新する時間を見つけようとします。

今日はこの正確な問題を抱えていました(情報を検索するときにあなたの質問に出くわしました)。

これは私が1つのソリューションをテストした方法です。

#!/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 
+0

ありがとうございました。あなたのシェルは私の仕事を終わらせるのを助けます。私は今とても幸せです。 –

関連する問題