Управление X ключами и указателем захватывает на командной строке

Хотя это сообщение основано на фактах, оно все еще содержит мой личный опыт и мнения.

Nvidia

Хотя существует проект для Драйверов с открытым исходным кодом, вероятно, необходимо рассмотреть Nvidia, являющуюся драйверами с закрытым исходным кодом только. Теперь в случае Nvidia это действительно не приносит много плохих вещей, так как они действительно работают над своими драйверами очень трудно. Лучшая поддержка когда дело доходит до драйверов видеокарты с закрытым исходным кодом на Linux.

Видеокарты Nvidia являются единственными, которые обеспечивают эквивалентную производительность на Linux и Windows.

Однако, драйверы с закрытым исходным кодом подразумевают некоторые ограничения как никакая поддержка функций, доступных только драйверам GPL (как KMS).

Intel

Теперь при выборе Intel необходимо быть чрезвычайно осторожными. Некоторые видеокарты Intel являются связанными картами на самом деле третьей стороны, которые не имеют никого (или имеют очень дрянной), поддержка. Но если Вы выбираете корректную микросхему, можно наслаждаться лучшими драйверами с открытым исходным кодом там. Например, даже очень низкокачественные карты Intel могут быть быстрее в составлении композита менеджеров окон затем высококачественные карты Nvidia.

AMD

Теперь это сложно. AMD обеспечивает оба собственных драйвера (которые имеют тенденцию сосать много), и они также выпускают документацию и поддерживают разработку драйверов с открытым исходным кодом.

Теперь проблема состоит в том, что драйверы с открытым исходным кодом никогда не будут содержать бесспорный лицензировать/запатентовать/и т.д.... функции и так как они действительно не концентрируются на разработке драйверов с закрытым исходным кодом, я предполагаю, что они всегда будут позади (Windows features / производительность).

20
24.10.2011, 03:42
3 ответа

Последние версии X (сервер X.org ≥1.11) поддерживают несколько отладок keysyms, представленный в этой фиксации. При инициировании они выполняют действия, связанные с захватами.

По умолчанию (по крайней мере, в последних версиях), они отключены (отсутствующий в контурной карте по умолчанию).

Однако, если Вы имеете xdotool установленный, возможно назвать их путем выполнения на командной строке:

xdotool key NameOfKey

где NameOfKey keysym, который Вы хотите активировать. Например, для печати списка активных захватов к журналу X-сервера использовать xdotool key XF86LogGrabInfo.

Соответствующие keysyms:

Обратите внимание, что XF86LogGrabInfo только перечисляет активные захваты, не пассивные захваты, такие как захват на клавише, которая в настоящее время не нажимается. Если Вы хотите получить информацию о пассивном захвате, необходимо активировать захват: выполненный xdotool key XF86LogGrabInfo в то время как на ключевую комбинацию хорды или кнопки мыши, которая Вы интересуетесь, нажимают. Сделайте что-то как:

  1. Выполненный sleep 1; xdotool key XF86LogGrabInfo
  2. В течение 1 секунды нажмите ключевую хорду или комбинацию кнопки мыши.
  3. После 1 секунды отпустите клавишу.
  4. Проверьте “Активный захват …” информация в журнале X-сервера (часто /var/log/Xorg.0.log).
22
27.01.2020, 19:44
  • 1
    Тестирование теперь на Debian, хрипящем с Xorg 1.12.4, xdotool key XF86LogGrabInfo триггеры только две записи в этих X журналах: “Печать всех захватов в настоящее время активного устройства”: сразу сопровождаемый “Списком конца захватов активного устройства”. Все же мой менеджер окон действительно захватывает набор ключей. Вы видели эту работу для захваченных ключей? –  Gilles 'SO- stop being evil' 17.11.2014, 01:15
  • 2
    @Gilles - нет, Вы не получите вывода, если Вы будете работать, это как этот... пытается выполнить его с sleep 2; xdotool key "XF86LogGrabInfo" и сразу начните нажимать клавишу (например, ключ "Победы") очень быстро, затем Вы будете видеть некоторый вывод в Xorg.log. Или используйте xdotool нажать клавиши + XF86LogGrabInfo одновременно, как здесь –  don_crissti 25.11.2014, 02:58
  • 3
    @don_crissti, я вижу, XF86LogGrabInfo только информация о печати о клавише, которая в настоящее время нажимается? Это ограничивает его полноценность. Я хочу перечислить все захваты — все пассивные захваты, если я понимаю терминологию правильно. –  Gilles 'SO- stop being evil' 25.11.2014, 12:13
  • 4
    Существует, вероятно, некоторый умный способ объединить это с исчерпывающим поиском в виде сценария сочетаний клавиш, надо надеяться, без виртуальной клавиатуры. Конечно, вне моего знания. –  Adam Katz 16.01.2015, 19:18
  • 5
    Спасибо! Это помогло мне обнаружить это xfsettingsd крал мой Win + L ярлык. –  Mikel 13.05.2015, 09:52

Я ни о чем не знаю от руки для пассивного grabs1 единственного ключа или кнопки, которая может присутствовать, но существует пара способов перечислить активные захваты всего устройства клавиатуры или мыши.

  1. На всех платформах, но только с Xorg 1.11 и позже (или более старая версия с примененным патчем), горячие клавиши карты для дампа данных захвата к журналу, как описано в этих примечаниях патча.
  2. На Солярисе 11 (или Солярис 11 Экспрессов 2010.11 или фактический Солярис 11 выпусков), используйте сценарии отладчика такой как /usr/demo/Xserver/mdb/list_Xserver_devicegrab_client, как описано в Захвате информации от X-сервера. Существует также один здесь для захватов сервера, которые в настоящее время не покрывают горячие клавиши Xorg 1.11.

1 См. http://tronche.com/gui/x/xlib/input/pointer-grabbing.html для определения активных по сравнению с пассивными захватами.

8
27.01.2020, 19:44

Это дополнение к ответу Механической улитки -

Записи в журнале Xorg могут быть довольно неразборчивыми. Я написал программу, которая анализирует их и представляет в понятной для человека форме:

https://gist.github.com/CyberShadow/6412d11aea64144f8905cc0b8196f38e

Для использования сначала запустите ключ xdotool XF86LogGrabInfo , как описано в ответе Механической улитки. Затем запустите программу, указанную выше. Если ваш файл журнала Xorg не находится в /var/log/Xorg.0.log , вы можете указать его местоположение, используя параметр - xorg-log . Подробнее см. - справка .

4
27.01.2020, 19:44

Теги

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