Шрифт:
Чтобы увидеть конфигурацию устройств на вашем компьютере, попробуйте запустить команду xinput —list:
$ xinput —list
Virtual core pointer id=2 [master pointer (3)]
Virtual core XTEST pointer id=4 [slave pointer (2)]
Logitech Unifying Device id=8 [slave pointer (2)]
Virtual core keyboard id=3 [master keyboard (2)
Virtual core XTEST keyboard id=5 [slave keyboard (3)]
Power Button id=6 [slave keyboard (3)]
Power Button id=7 [slave keyboard (3)]
Cypress USB Keyboard id=9 [slave keyboard (3)]
У каждого устройства есть связанный с ним идентификатор, который можно использовать в команде xinput и в других командах. В данном выводе идентификаторы 2 и 3 соответствуют устройствам ядра, а идентификаторы 8 и 9 — реальным устройствам. Обратите внимание на то, что кнопки включения компьютера также рассматриваются как устройства ввода.
Большинство X-клиентов выполняют прослушивание ввода от устройств ядра, поскольку им нет повода беспокоиться о том, какое именно устройство вызвало событие ввода. В действительности большинство клиентов ничего не знает о расширении X Input Extension. Тем не менее клиент может использовать это расширение, чтобы избрать какое-либо конкретное устройство.
Каждое устройство обладает набором связанных с ним свойств. Чтобы просмотреть эти свойства, используйте команду xinput с номером устройства, как в этом примере:
$ xinput —list-props 8
Device 'Logitech Unifying Device. Wireless PID:4026':
Device Enabled (126): 1
Coordinate Transformation Matrix (128): 1.000000, 0.000000, 0.000000,
0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (256): 0
Device Accel Constant Deceleration (257): 1.000000
Device Accel Adaptive Deceleration (258): 1.000000
Device Accel Velocity Scaling (259): 10.000000
—snip—
Как видите, есть несколько весьма интересных свойств, которые можно изменить с помощью параметра —set-prop. Дополнительную информацию можно получить на странице руководства xinput(1).
Мышь
Можно управлять параметрами, относящимися к устройству, с помощью команды xinput, наиболее полезные из них относятся к мыши (указателю). Можно изменить многие параметры непосредственно как свойства, но обычно проще выполнить это с помощью специальных параметров —set-ptr-feedback и —set-button-map команды xinput. Например, если к устройству dev подключена мышь с тремя кнопками и вы желаете поменять на ней порядок следования кнопок (для удобства работы левши), попробуйте такую команду:
$ xinput —set-button-map dev 3 2 1
Клавиатура
Множество различных вариантов раскладки клавиатуры, доступных в разных странах, представляет особые сложности для интеграции в любую оконную систему. В системе X всегда присутствовала возможность настройки клавиатуры с помощью протокола ядра, которым можно управлять, используя команду xmodmap, однако в любой достаточно современной системе применяется расширение XKB (X-клавиатура), позволяющее добиться более точной настройки.
Расширение XKB является настолько сложным, что многие пользователи до сих пор применяют команду xmodmap, когда им необходимо быстро внести изменения.
Основная идея, заложенная в расширение XKB, такова: можно определить раскладку клавиатуры и скомпилировать ее с помощью команды xkbcomp, а затем загрузить и активизировать эту раскладку на X-сервере с помощью команды setxkbmap. У этой системы есть две чрезвычайно интересные особенности.
• Можно определять частичные раскладки, чтобы дополнить уже существующие. Это особенно удобно для таких задач, как превращение клавиши Caps Lock в клавишу Control, и используется многими утилитами настройки клавиатуры в окружении рабочего стола.
• Можно определить индивидуальные раскладки для каждой подключенной клавиатуры.
Фон рабочего стола
Старая команда xsetroot системы X позволяет вам указать цвет фона и другие характеристики корневого окна, но это никак не проявляется на большинстве компьютеров, поскольку корневого окна никогда не видно. Вместо него во многих окружениях рабочего стола позади всех окон помещается большое окно, позволяющее задействовать такие функции, как «активные обои» и просмотр файлов с рабочего стола. Существуют способы изменить фон из командной строки (например, с помощью команды gsettings в некоторых версиях среды GNOME), но если вам это действительно необходимо, то у вас, вероятно, очень много свободного времени.