Как назначить скрипт, который будет запускаться при запуске и использовать определенный метод ввода?

Как назначить скрипт, который будет запускаться при запуске и использовать определенный метод ввода?

поэтому у моего thinkpad возникли проблемы с клавиатурой, поэтому я использую внешнюю клавиатуру. Проблема, с которой я столкнулся, заключается в том, что при подключении клавиатуры базовая клавиатура все равно может печатать, и это означает, что моя клавиша '1' постоянно нажата. Я нашел способ решить эту проблему, запустив

sudo xinput list

Находим «AT Translated Set 2 keyboard» и ее идентификатор, а затем запускаем

sudo xinput float <id>

Какой код мне нужен для запуска xinput list и поиска определенной строки для запуска xinput float? Обычно идентификатор 14, но иногда он меняется, поэтому я не могу просто запускать sudo xinput float 14все время. Большое спасибо за любую помощь!

решение1

Хотя идентификатор устройства может измениться... имя устройства в большинстве случаев останется прежним. Поэтому вы можете использовать имя устройства в запросе, чтобы получить его конкретный идентификатор, например:

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')"

Связанный контент