LINUX.ORG.RU

Ближе к идеалу..

 , ,


1

1

На этом форуме был мой пост про проблемы с тачпадом. Решить их с помощью шаманств с драйвером тачпада не удалось, поэтому я решил подойти другим путем.

(Курсивом я выделил решенную проблему) Однажды я познакомился с xbindkeys. Они мне очень понравились тем, что не надо лезть в фронтенд и тыкаться мышью в кнопычки. Также он нормально работает с хоткеями, в которых есть кнопка Super аля Шindoшs Logo. Также меня впечатлила утилитка xdotool, с помощью которой можно двигать, тыкать мышью и нажимать на кнопки клавиатуры. Соединив их, я забиндил на Ctrl+Super клик СКМ - проблема 1 решена.

Теперь я хочу сделать так чтобы при зажатым Super можно было бы будто двигать по полосе прокрутки, причем желательно, чтобы курсор не двигался, хотя... А также хочу напрочь снести полосу прокрутки, ибо она глюканутая - проблема 2 ожидает решения.

Также хотелось бы реализовать еще несколько штук. Например, такие

  • при зажатой ЛКМ и попадание в самый верх экрана активное окно разворачивается
  • с помощью кнопки Super и кнопки мыши двигать активное окно по рабочим столам (ЛКМ - влево, ПКМ - вправо). Хотя я редко выхожу за пределы одного стола..
  • ну и другие няшные штуки в этом душе :)

Пожалуй, не надо полностью все подробно рассказывать. Лучше отправьте в нужные маны. Так будет лучше :)



Последнее исправление: cetjs2 (всего исправлений: 1)

Если я Вас правильно понял, то:

1.Можно использовать compiz и настроить управление клавиатурой и мышью как душе угодно. См. ссылку - в тексте описаны некоторые интересные мышиные комбинации реализованные с помощью возможностей compiz

2.Задействование сенсорной левой клавиши на поверхности тачпада можно выполнить так:

synclient TapButton1=1

Также можно включить вертикальную и горизонтальную прокрутку на тачпаде:

synclient VertEdgeScroll=1
synclient VertScrollDelta=45
synclient HorizEdgeScroll=1
synclient HorizScrollDelta=45

P.S.

Само собой нужно прописать в загрузку сессии команды настройки тачпада, но проверить их Вы можете и из командной строки.

glibych ★★
()
Ответ на: комментарий от glibych

Любопытно.. именно та ссылка вдохновила меня на такие штуки. Но я отринулся от compiz и решил делать все стандартными средствами ( ну то есть не большими утилитками)

Задействование сенсорной левой клавиши на поверхности тачпада

что-что? Если вы о клике при ударении по тачпаду, то это работает. Не работает СКМ через одновременное нажатие двух кнопок

Насчет шаманства с synclient, у меня ругается не то, что я не использую драйвер syncaptics

nic11
() автор топика

Но все же проблема со средней кнопкой решена не полностью: полученная комбинация имитирует одиночный клик. Мне же хочется, чтобы можно было тащить курсор за СКМ. Но не получилосьь

nic11
() автор топика
Ответ на: комментарий от nic11

Любопытно.. именно та ссылка вдохновила меня на такие штуки. Но я отринулся от compiz и решил делать все стандартными средствами ( ну то есть не большими утилитками)

Черкни плиз потом, если получится, какими утилитами пользовался, попробую их к стандартному опенбоксу в lxde прикрутить для разнообразия.

что-что? Если вы о клике при ударении по тачпаду, то это работает. Не работает СКМ через одновременное нажатие двух кнопок

Не совсем понял какое именно действие Вы хотели бы присвоить СКМ.

Насчет шаманства с synclient, у меня ругается не то, что я не использую драйвер syncaptics

А какой драйвер используется у Вас для тачпада?

glibych ★★
()
Ответ на: комментарий от glibych

Не совсем понял какое именно действие Вы хотели бы присвоить СКМ.

Не совсем так. Это на нажатие Ctrl+Super я забиндил СКМ, потому что через одновременное нажатие двух кнопок тачпада СКМ не работает. Но на Ctrl+Super забинден всего лишь клик, а я хочу, чтобы все время пока эта комбинация нажата, была нажата и СКМ.

А какой драйвер используется у Вас для тачпада?

Видимо, не синаптикс. Но это странно, поскольку мой xorg.conf выглядит так:

Section "InputClass"
        Identifier "evdev touchpad catchall"
        MatchIsTouchpad "yes"
        MatchDevicePath "/dev/input/event*"
        Driver "synaptics"
        Option "TapButton1" "1"
        Option "TapButton2" "2"
        Option "TapButton3" "3"
        Option "VertTwoFingerScroll" "1"
        Option "HorizTwoFingerScroll" "1"
        Option "VertEdgeScroll" "1"
        Option "CoastingSpeed" "8"
        Option "CornerCoasting" "1"
        Option "CircularScrolling" "1"
        Option "CircScrollTrigger" "7"
        Option "EdgeMotionUseAlways" "1"
	Option "SHMConfig" "true"
EndSection

nic11
() автор топика
Ответ на: комментарий от nic11

Кажется, я понял в чем дело. Парралельно читаю статью о настройке синаптикса. Попробуем пофиксить..

nic11
() автор топика
Ответ на: комментарий от glibych

Черкни плиз потом, если получится, какими утилитами пользовался, попробую их к стандартному опенбоксу в lxde прикрутить для разнообразия.

Мне кажется, будет достаточно утилитки, которая будет что-то делать (запускать скрипт) при клике. А этот скрипт через xdotools определит, куда я кликнул, и если это с краю экрана, что-то сделает. Дальше пригодиться комманда, которая даст разрешение экрана. Потом нужна утилитка позволяющая узнать, нажата ли какая-то кнопка на клавиатуре. Может Вы что-нибудь можете посоветовать?

nic11
() автор топика
Ответ на: комментарий от nic11

Попробовал следовать советам статьи, иксы ругаются, что нету Screen0 и что нету девайса Synaptics Touchpad (в статье советуют добавить в xorg.conf это:

Section "ServerLayout"
    Identifier        "Layout0"
    Screen           0  "Screen0" 0 0
    InputDevice    "Synaptics Touchpad" "SendCoreEvents"
EndSection

nic11
() автор топика
Ответ на: комментарий от nic11

У мну примерно так в ксорге:

Section "ServerLayout"
	Identifier	"Xorg Configured"
	InputDevice	"Synaptics Touchpad" "SendCoreEvents"
EndSection

Section "InputDevice"
	Identifier	"Synaptics Touchpad"
	Driver		"synaptics"
	Option		"SendCoreEvents" "true"
	Option		"Device" "/dev/psaux"
	Option		"Protocol" "auto-dev"
	Option		"SHMConfig" "true"
	Option		"TapButton1" "1"
	Option		"HorizEdgeScroll" "1"
EndSection

Вертикальный же скролл работает без дополнительных шаманских действий

glibych ★★
()
Ответ на: комментарий от glibych

Когда я делал на этот раз ядро, я поподробнее изучил опции и вырубил ненужное. Вроде бы врубил что-то связанное с синаптиксом. Посмотрим еще...

nic11
() автор топика
Ответ на: комментарий от nic11

Там вырублена опция тачскрина и врублена опция тачпада. Еще есть включенная опция PS/2 мыши. Ну тоесть TOUCHSCREEN_SYNAPTICS_I2C_RMI4 [=n], MOUSE_SYNAPTICS_I2C [=y], MOUSE_PS2_SYNAPTICS [=y]. Что-то изменить?

nic11
() автор топика
Ответ на: комментарий от nic11

Не совсем так. Это на нажатие Ctrl+Super я забиндил СКМ, потому что через одновременное нажатие двух кнопок тачпада СКМ не работает. Но на Ctrl+Super забинден всего лишь клик, а я хочу, чтобы все время пока эта комбинация нажата, была нажата и СКМ.

Должно настраиваться три разных события. Клавиша нажата, удерживается и отжата. Посмотри в манах пакета, через который настраиваешь.

glibych ★★
()
Ответ на: комментарий от glibych

У меня на xorg в таком духе иксы ругаются. Пробовал ServerLayout переставлять в конец.. ругается в обоих случаях на то, что нету девайса Synaptics Touchpad. Это странно. Вот конфиг (последние строки закомменчены, чтобы иксы могли запускаться)

Section "InputClass"
        Identifier "Synaptics Touchpad"
        MatchIsTouchpad "yes"
        MatchDevicePath "/dev/input/event*"
        Driver "synaptics"
        Option "TapButton1" "1"
        Option "TapButton2" "2"
        Option "TapButton3" "3"
        Option "VertTwoFingerScroll" "1"
        Option "HorizTwoFingerScroll" "1"
        Option "VertEdgeScroll" "1"
        Option "CoastingSpeed" "8"
        Option "CornerCoasting" "1"
        Option "CircularScrolling" "1"
        Option "CircScrollTrigger" "7"
        Option "EdgeMotionUseAlways" "1"
	Option "SHMConfig" "true"
EndSection

#Section "ServerLayout"
#	Identifier "Layout0"
#	#Screen 0 "Screen0" 0 0
#	InputDevice "Synaptics Touchpad" "SendCoreEvents"
#EndSection

nic11
() автор топика
Ответ на: комментарий от glibych

Может я неверно читаю ман, но я увидел только одно, что может помочь: модификатор Release. Но это не работает. Вызывается только та бинда, что без Release, но когда я отпускаю комбинацию, ничего не происходит (проверено через notify-send)

nic11
() автор топика
Ответ на: комментарий от nic11

У меня включена только эта опция в ядре:

CONFIG_MOUSE_PS2_SYNAPTICS=y

Значит в ядре у тебя все включено и должно работать. Попробуй поиграться с моими настройками xorg.conf

glibych ★★
()
Ответ на: комментарий от glibych

Я однажды пробовал автомат, он какой-то генерировался, но вылетал с ошибкой.

nic11
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.