nixp.ru v3.0

28 мая 2017,
воскресенье,
23:34:55 MSK

DevOps с компанией «Флант»
Pasha написал 23 марта 2005 года в 15:01 (267 просмотров) Ведет себя неопределенно; открыл 1 тему в форуме, оставил 5 комментариев на сайте.

Не сталкивался ли кто с проблемой работы однокнопочного «PointingDevice» в XFree86 или X.org ?

Как эмулировать третью кнопку при помощи одновременного нажатия двух — описано на каждом углу. Задача стоит в эмуляции Right-Click пи помощи Ctrl/Alt/…-Click

Нашел решение для полной эмуляции нажатия через клавиатуру

keycode xxx = Pointer_EnableKeys

keycode yyy = Pointer_Button3

keycode zzz = Pointer_Button2

а хотелось бы смешанного решения, клавиша-модификатор + обычный клик

Спасибо, Паша

Longobard

Хм, а есть однокнопочные мышки?

Pasha

угу. есть, например — макинтошевские

более того, есть мышки с отломанными кнопками, есть точ-пады с неудобными

кнопками, есть точ-скрины, есть люди, путающие кнопки и люди, которым неудобно

нажимать в силу физических недостатков.

Но все это к вопросу не имеет ни малейшего отношения.

anonymous

мыш не нужна вообще … хотя может для запуска xterm но для запуска и одной кнопки хватит

Genie

кстати, о «вообще без мыши»..

Crtl-Shift-Numlock.

и цифровая клавиатура для управления указателем… ;)

Pasha
assa
мыш не нужна вообще …

ага-ага. особенно для таких советов. :-(

Ладно, резюмирую.

В виду того, что не нашлось более гуманного способа достижения результата,

пришлось слегонца подпатчить ядрышко в том месте, где это все сходится в кучу,

fly4life
Pasha
ага-ага. особенно для таких советов. :-(

Ладно, резюмирую.

В виду того, что не нашлось более гуманного способа достижения результата,

пришлось слегонца подпатчить ядрышко в том месте, где это все сходится в кучу,

Хоть бы рассказал, как и где именно. Интересно ж.

Pasha

drivers/input.c

+ static int meta_pressed=0;

void input_event(…)

case EV_KEY:

+ if (code == KEY_LEFTMETA && value > 0) meta_pressed=1 ;

+ if (code == KEY_LEFTMETA && value == 0) meta_pressed=0 ;

+ if (code == BTN_LEFT && meta_pressed == 1) code = BTN_RIGHT ;

….

Подозреваю, что лучше было бы исправить драйвер для иксов. Точнее, написать свой протокол мыши. Ведь в OSX как-то эту проблему решили.

Pasha

Не согласная я..

Аргументирую:

1. Консоль — она то-же человек. И ей то-же такого хочется.

2. Процесс пересбора ядра более привычен, нежели персбор иксов

3. Проблема куда более характерна для linux ppc, чем для MacosX. Что они там

в макоси придумали — я кто его знает.

4. В ppc-вых линуксах эта поблема может быть решена на нескольких уровнях,

в том числе и на уровне ядра, причем поведение может быть регулируемо через

/proc/sys/dev/mac_hid или на уровне DarwinX, где есть ключики запуска,

управляющие режимом эмуляции

5. Самый железный аргумент. В доках по ядру я нашел картинку и описание, где и чего

сходится и как работают вместе input девайсы обычные и usb-вые, а для иксов — фиг.

Паша