LINUX.ORG.RU

Эмуляция скролла на трекболе

 , , ,


2

1

Приобрел Logitech Trackman Marble и всё бы хорошо, но не могу заставить трекбол работать, как скролл при зажатой маленькой левой кнопке.
На данный момент, фрагмент посвященный трекболу в xorg.conf выглядит так:

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse1"
    Option         "CorePointer"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/input/mice"
    Option         "Buttons" "9"
    Option         "ZAxisMapping" "4 5"
    Option         "XAxisMapping" "6 7"
    Option         "EmulateWheel" "true"
    Option         "EmulateWheelButton" "9"
EndSection
Дистр Slackware 14, все необходимые конфиги предоставлю.

★★★★

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

У меня работает так:

/etc/X11/xorg.conf.d/50-marblemouse.conf

Section "InputClass"
    Identifier      "Marble Mouse"
    MatchProduct    "Logitech USB Trackball"
    MatchIsPointer  "on"
    MatchDevicePath "/dev/input/event*"
    Driver          "evdev"
    Option          "SendCoreEvents" "true"

    #  Physical buttons come from the mouse as:
    #     Big:   1 3
    #     Small: 8 9
    #
    # This makes left small button (8) into the middle, and puts
    #  scrolling on the right small button (9).
    #
    Option "Buttons"            "9"
    Option "ButtonMapping"      "1 8 3 4 5 6 7 2 9"
    Option "EmulateWheel"       "true"
    Option "EmulateWheelTimeout" "300"
    Option "EmulateWheelButton" "8"
    Option "YAxisMapping"       "4 5"
    Option "XAxisMapping"       "6 7"

EndSection

Откуда брал — не помню.

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

Спасибо большое, заработало.

fero ★★★★
() автор топика

Мне больше понраву так:

Section "InputClass"
    Identifier      "Marble Mouse"
    MatchProduct    "Logitech USB Trackball"
    MatchIsPointer  "on"
    MatchDevicePath "/dev/input/event*"
    Driver          "evdev"
    Option          "SendCoreEvents" "true"

    #  Physical buttons come from the mouse as:
    #     Big:   1 3
    #     Small: 8 9
    #
    # This makes left small button (8) into the middle, and puts
    #  scrolling on the right small button (9).
    #
    Option "Buttons"            "9"
    Option "ButtonMapping"      "1 8 3 4 5 6 7 2 2"
    Option "EmulateWheel"       "true"
    Option "EmulateWheelTimeout" "25"
    Option "EmulateWheelButton" "8"
    Option "YAxisMapping"       "4 5"
    Option "XAxisMapping"       "6 7"

EndSection
Реакция скролла повыше, и правая маленькая кнопка эмулирует клик средней кнопки мыши.

fero ★★★★
() автор топика
22 августа 2014 г.

Хочу пожаловаться общественности и предостеречь потомков. Через пол года эксплуатации начала люто глючить левая кнопка мыши. К сожалению жалобы других обладателей и тонны гневных отзывов в Интернет увидел только после покупки. Такие дела.

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

Спасибо конечно, но это Logitech - по-видимому это их фирменная фича - через полгода умерла левая кнопка на MX Perfomance, а между прочим это топ их офисной линейки... (((

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

Вчера гугли до часу ночи, ты прав. Очень много жалоб. Интересно, что за всю мою жизнь, хороню только 2й манипулятор. 1й труп был от A4Tech и продержался он больше 7 лет.
З.Ы. написал им в саппорт, выразил свой гнев.

fero ★★★★
() автор топика
Последнее исправление: fero (всего исправлений: 1)
Ответ на: комментарий от Suntechnic

А пробовал какие-нибудь другие? Может подскажешь чего? Не хочется на мышь переползать обратно.

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

А с него реально быстрее работается? Я как-то юзал древний трэкболл ещё в конце 90-х, помню что в интерфейсах часто промахивался, да и в играх было не очень.

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

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

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

Marble Mouse Logitech USB Trackball, лет даже и не помню сколько но едва не десяток. Правда уже редко используется. До сих пор проблем нет, не считая того что резиновые ножки немного отклеиваются.

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

Абсолютно так же, но удобнее. Рука не устаёт, бардак на столе не мешает. Единственная игра в которой возникли проблемы teeworlds. Там мышкой намного удобней, в остальные (killing floor, например) играю с трекбола.

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

Я за вечер освоился до комфортного состояния. Через 2-3 дня, владел так же, как мышом. Манипулятор очень понравился маман. Забавно, что под Linux дрова грамотнее, чем под вин. Там скроллинг работает только в браузере и офисе (там где работает setpoint). Соответственно в игрушки играть неудобно. Пушки скроллом не попереключаешь.

fero ★★★★
() автор топика
Последнее исправление: fero (всего исправлений: 1)
Ответ на: комментарий от fero

И все же я его взял. Просто не вижу иной альтернативы - рука сильно болит. Да и за 900р. было грех не взять.

Дико не хватает кнопок. Если намаленькие повесить скрол и средний клик, то не понятно как переключать столы вверх-вниз (я для этого использовал боковые кнопки мыши). Но в целом весьма удобно.

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

Здесь глянь, думаю разберешься:
https://wiki.archlinux.org/index.php/Logitech_Marble_Mouse

# This line switches the left and right large buttons, and nothing else. For left-handed user.
Option «ButtonMapping» «3 2 1 4 5 6 7 8 9»

З.Ы. Саппорт так и не ответил

fero ★★★★
() автор топика
Последнее исправление: fero (всего исправлений: 2)
Ответ на: комментарий от Suntechnic

Учи английский, на нём легче искать информацию.
1.Вбиваешь xinput, чтоб узнать id своего девайса
2. xinput get-button-map id_трекбола - такова твоя текущая раскладка
3. Что какая кнопка значит, можешь глянуть здесь.
4. Меняю местами ЛКМ и ПКМ:
xinput set-button-map id_трекбола 3 8 1 4 5 6 7 2 2
и обратно:
xinput set-button-map id_трекбола 1 8 3 4 5 6 7 2 2

fero ★★★★
() автор топика
Последнее исправление: fero (всего исправлений: 1)
Ответ на: комментарий от fero

Я попробовал по той статье что ты давал выше: xmodmap -e «pointer = 3 9 1 4 5 6 7 2 8 10 11 12 13» - Все срабатывает но пропадает средний клик на левой мелкой кнопке. На ней висит вообще не понятное мне действие. Что-то не так я похоже тут делаю. Сейчас попробую вот этим способом.

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

Поменять правый и левый клик местами получается, а вот левую и правую мелкие кнопки - нет. Я так понимаю что левую нельзя потому что на нее прокрутка захардкорена в конфиге. Но ведь в этом случае правая-то должна потерять действие центральной. Почему нет?

P.S. id - плохая идея. Мне кажется лучше использовать имя девайса.

Suntechnic ★★★★★
()
Последнее исправление: Suntechnic (всего исправлений: 1)
Ответ на: комментарий от Suntechnic

С тебя магарыч:
xinput set-prop id_трекбола «Evdev Wheel Emulation Button» 9
Осталось только запихать всё это дело в скрипт и жить припеваючи. Алсо, я тоже часто меняю руку, но клавиши не переназначаю.

fero ★★★★
() автор топика
Последнее исправление: fero (всего исправлений: 2)
Ответ на: комментарий от fero

А... Супер! Спасибо!

Да под мышь я тоже не перезназначаю. А вот с трэкболом не очень удобно.

Suntechnic ★★★★★
()

Решил порулить левой рукой и набросал скриптик:

#!/usr/bin/perl

use strict;
use warnings;

*DEVICE_NAME= \'Logitech USB Trackball';
our $DEVICE_NAME;

*RIGHTHANDED_MAP= \'1 8 3 4 5 6 7 2 2 ';
our $RIGHTHANDED_MAP;

*LEFTHANDED_MAP= \'3 8 1 4 5 6 7 2 2 ';
our $LEFTHANDED_MAP;

my $curr_map= `xinput get-button-map '$DEVICE_NAME'`;
chomp $curr_map;

if($curr_map eq $RIGHTHANDED_MAP)
 {
    `xinput set-button-map '$DEVICE_NAME' $LEFTHANDED_MAP`;
    `xinput set-prop '$DEVICE_NAME' 'Evdev Wheel Emulation Button' 9`;
 }
else
 {
    `xinput set-button-map '$DEVICE_NAME' $RIGHTHANDED_MAP`;
    `xinput set-prop '$DEVICE_NAME' 'Evdev Wheel Emulation Button' 8`;
 }
Меняет раскладку на противоположную. Одна из маленьких кнопок мыши эмулирует средний клик, вторая включает скроллинг.
Левши, боритесь за свои права! Гоните правшей, насмехайтесь над ними!

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