Получение ключевого входа от устройства событий и отображение его (переключают ключ TouchPad, не отображаются),

Мне было бы нелегко жить без энергии, но я не могу выдержать vi. Однако изучение первого, по крайней мере, оставит Вас с идеей того, как иметь дело с позже, когда это - все, что доступно.

Интерфейс энергии по умолчанию на самом деле достаточно близок к vi. Если я работаю над системой с энергией первая вещь, я делаю, добавляет этот материал к ~/.vimrc:

syntax enable
set nocp
set wildmenu

Существует набор другого материала, который я предпочитаю - nowrap и нумерующий на, и т.д. - но не имеет значения. "синтаксис включает", просто включает выделение базового синтаксиса (несколько более раскормленный: filetype plugin on фундаментально также); "nocp" выключает vi совместимость, и это - это, которое начинает отличать энергию от Вас olde vi (например, это включает showmode который делает целый опыт несколько более человеческим, так как у Вас теперь есть некоторая подсказка о том, являетесь ли Вы в команде или ~INSERT ~ режимом). "wildmenu" просто дает Вам горизонтальное меню завершения при выполнении некоторых вещей, который делает жизнь легче также.

Средства редактирования текста энергии являются первоклассными - кроме emacs, я никогда не видел или слышал о части программного обеспечения, которое приближается. Их не легко изучить, но после того как Вы знаете их, они намного быстрее, чем меню мыши для использования и намного более динамичный, чем простые ключевые макро-альтернативы в мыши основанные на меню интерфейсы. Для программирования я иногда использую энергию вместе с IDE как Eclipse, но я делаю большую часть работы в энергии.

Если Вы выбираете это путь, lol, изучаете автозавершение и taglist плагины. И остерегайтесь темной стороны.

10
01.12.2013, 03:32
2 ответа

Как оказалось, ядро действительно брало его, но продолжало жаловаться, что это не распознано.

Для кого-либо еще имеющего эту проблему, или хочет отобразить ключ, это не читается ОС, продолжать читать.

Откройте терминал и работайте dmesg | grep -A 1 -i setkeycodes. Это даст Вам многократные въезды как это:

[    9.307463] atkbd serio0: Unknown key pressed (translated set 2, code 0xbe on isa0060/serio0).
[    9.307476] atkbd serio0: Use 'setkeycodes e03e <keycode>' to make it known.

То, что нам интересно, является шестнадцатеричным значением после "setkeycodes", в этом случае это e03e. Если у Вас есть несколько из них, можно работать tail -f /var/log/kern.log. После того как Вы сделали так, можно коснуться кнопки, которую Вы ищете, и это даст Вам ту же строку как выше, и снова, нам только нужно шестнадцатеричное значение. Обратите внимание на это.

Теперь выполненный xmodmap -pke | less и найдите соответствующее отображение. В моем случае я должен был отобразить это для переключения моей сенсорной панели, что означает, что я интересовался следующей строкой:

keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle

Если Вы не можете найти то, чем Вы интересуетесь, прочитайте ответ @Gilles также, поскольку можно определить пользовательские отображения также, то продолжает читать (если ядро считает его, то Вы не должны будете добавлять его к xorg.conf.d),

Теперь я выполнил следующую команду: sudo setkeycodes [hexadecimal] [keycode], таким образом в моем случае, который стал: setkeycodes e03e 199.

Теперь можно использовать следующую строку, чтобы протестировать, если она работала, и/или у Вас есть корректное отображение:

xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'

При выполнении этой команды необходимо сфокусироваться на недавно открытом окне (xev) и проверьте консольный вывод. В моем случае это читало как следующее:

207 NoSymbol

Это было, очевидно, неправильно, поскольку я запросил код клавиши 199, таким образом, это отображается на XF86TouchpadToggle. Я проверил xmodmap -pke снова, и замеченный это keycode 207 на самом деле отображается на NoSymbol, и я заметил, что было различие в смещении 8, таким образом, я попробовал setkeycodes управляйте снова, но ключ отображается на keycode 191.

sudo setkeycodes e03e 191

Это работало отлично.

РЕДАКТИРОВАНИЕ - решение, которое я предоставил, чтобы иметь к работе над запуском, не делает. Я пойму это завтра и обновлю этот ответ. На данный момент я предполагаю, что можно выполнить это на запуске вручную.

7
27.01.2020, 20:02
  • 1
    , как сделать это постоянным хорошим способом? (т.е. после сброса/начальной загрузки) –  vak 11.11.2016, 12:08

От взглядов его устройство является клавиатурой (распознанный в программном обеспечении как отдельное от “базовой” клавиатуры), но X-сервер не слушает его.

Попытайтесь добавить раздел Input под /etc/X11/xorg.conf.d. Таким образом, создайте каталог /etc/X11/xorg.conf.d если это уже не существует и создает файл extra-keyboard-buttons в том каталоге, содержащем

Section "InputClass"
    Identifier "extra-keyboard-buttons"
    Driver "kbd"
    MatchProduct "AT Translated Set 2 keyboard"
EndSection

Я не уверен в этом MatchProduct строка; если это не работает, попытайтесь играть с MatchXXX директивы.

После того как этот файл настраивается правильно при запуске X-сервера он должен обработать события с этой клавиатуры, и необходимо видеть события в xev и в другом месте. Отметьте код клавиши (я не уверен, совпадет ли код клавиши X11 с аппаратным кодом клавиши в этом случае), и свяжите keysym к нему. Можно сделать это через названный файл .Xmodmap в Вашем корневом каталоге, содержащем

keycode 190 = XF86_Launch5

Можно теперь определить сочетания клавиш с помощью этих ключей.

Для переключения сенсорной панели используйте команду xinput. Выполненный xinput list для наблюдения, какие устройства ввода данных доступны и отмечают название сенсорной панели (я назову его Touchpad ниже). Выполненный xinput list-props Touchpad перечислять его свойства; одного из них нужно назвать “Устройством, Включенным” с числом рядом с ним (например, 135). Следующий сценарий переключит сенсорную панель:

#!/bin/sh
device_name='Touchpad'
property=135
flipped_state=$(xinput list-props "$device_name" |
                awk "/\\($property\\)/ {print 1 - \$NF}")
xinput set-prop "$device_name" "$property" "$flipped_state"

Сохраните это в файле ~/bin/toggle-touchpad и сделайте это исполняемым файлом (chmod +x ~/bin/toggle-touchpad). Для привязки его с ключом установите xbindkeys и настройте его для запущения скрипта, вставив следующие строки ~/.xbindkeysrc:

"toggle-touchpad"
  XF86_Launch5
4
27.01.2020, 20:02
  • 1
    Спасибо за ответ. Это, к сожалению, не работало. Я получил его работа хотя, поэтому не стесняйтесь взглянуть на мой собственный ответ! :) –  Hosh Sadiq 01.12.2013, 05:39

Теги

Похожие вопросы