起動時に特定の入力メソッドを実行するスクリプトを指定するにはどうすればよいでしょうか?

起動時に特定の入力メソッドを実行するスクリプトを指定するにはどうすればよいでしょうか?

私のThinkPadはキーボードに問題があったので外付けキーボードを使っています。しかし、キーボードを接続してもベースキーボードで入力できてしまうため、'1'キーが常に押された状態になってしまうという問題がありました。これを解決するには、

sudo xinput list

「AT Translated Set 2キーボード」とそのIDを見つけて実行する

sudo xinput float <id>

xinput list を実行し、xinput float を実行する特定の文字列を見つけるには、どのようなコードが必要ですか? ID は通常 14 ですが、変更される場合があるため、sudo xinput float 14常に実行することはできません。ご協力いただき、誠にありがとうございます。

答え1

デバイス ID は変更される可能性がありますが、デバイス名はほとんどの場合同じままです。したがって、次のようにクエリでデバイス名を使用して特定の ID を取得できます。

xinput list --id-only "Virtual core XTEST keyboard"

Virtual core XTEST keyboard入手した特定のキーボードの名前に置き換えますxinput list

次のように使用できますxinput float:

xinput float "$(xinput list --id-only 'Virtual core XTEST keyboard')"

関連情報