Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum




Lines Club

Ищем достойных соперников.

Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Приемы работы в Ubuntu.
Глава 5: Система X11

Оригинал: "Ubuntu Hacks: Chapter 5 - X11"
Авторы: Кайл Ранкин, Джонатан Оксер, Билл Чайлдерс (Kyle Rankin, Jonathan Oxer, Bill Childers)
Дата публикации: June 2006
Перевод: Н.Ромоданов
Дата перевода: сентябрь 2010 г.

Система X Window (X11) является основой пользовательского интерфейса Ubuntu. X11 отвечает за управление вашей клавиатурой, мышью или тачпадом, а также работает с функцией аппаратного ускорения, которое требуется для 3-D приложений, таких как игры. Это место, где вы проводите большую часть своего времени, поэтому важно, чтобы все было настроено правильно.

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

Совет # 47: Настройка многокнопочных мышей

Семь кнопок, колесико наклона / прокрутки, и кто знает, что еще? Узнайте, как с пользой использовать все эти штучки.

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

Откройте в текстовом редакторе конфигурационный файл Xorg /etc/X11/xorg.conf (например, с помощью команды sudo vi /etc/X11/xorg.conf) и поищите секцию, помеченную как InputDevice. Если ваш компьютер является ноутбуком с тачпадом, секций, помеченных как InputDevice, может быть несколько, поэтому убедитесь, что вы нашли именно ту, которая относится к вашей мыши. Если настройка выполнялась автоматически с помощью Xorg, то секция, вероятно, будет выглядеть следующим образом:

Section "InputDevice" 
    Identifier   "Configured Mouse" 
    Driver        "mouse" 
    Option        "CorePointer" 
    Option        "Device" "/dev/input/mice" 
    Option        "Protocol" "ImPS/2" 
    Option        "ZAxisMapping" "4 5" 
    Option        "Emulate3Buttons" "true" 
EndSection

Начните с изменения значения Protocol. Драйвер ExplorerPS/2 поддерживает гораздо больше устройств, чем более старый драйвер ImPS/2, так что замените эту строку следующей:

    Option        "Protocol" "ExplorerPS/2"

Поскольку ваша многокнопочная мышь почти наверняка имеет среднюю кнопку, вам не следует пользоваться вариантом Emulate3Buttons, так что удалите его.

К сожалению, нет способа, чтобы ваш компьютер автоматически определил, сколько кнопок имеет мышь, так что вы должны добавить параметр, явно указывающий Xorg, сколько имеется кнопок. Очевидно, что вам нужно подсчитать все кнопки, физические присутствующие на мыши, но помните, что вам обычно потребуется добавить еще три: одну — нажатие колесика прокрутки, одну — скроллинг вверх и одну — скроллинг вниз. Типичная мышь, поддерживающая скроллинг с двумя главными кнопками сверху, двумя кнопками по бокам и колесиком прокрутки на самом деле имеет семь кнопок, так что нужно добавить строку следующего вида:

    Option        "Buttons" "7"

Далее, с помощью параметра ZaxisMapping отображаем колесико скроллинга на виртуальные кнопки. В случае простого колесика скроллинга, которое движется только вверх или вниз, вы можете назначить два значения, которые ассоциируются с отрицательным (вниз) и положительным (вверх) направлением движения, соответственно следующим образом:

    Option        "ZAxisMapping" "4 5"

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

    Option        "ZAxisMapping" "4 5 6 7"

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

Некоторые браузеры, такие как Firefox, жестко используют кнопки 4 и 5 в качестве горячих клавиш для команд "Назад" и "Вперед", но поскольку некоторые мыши с колесиком кодируют движение колесика вверх и движение вниз как, соответственно, события нажатий четвертой и пятой кнопки, вам может понадобиться выполнить определенную дополнительную работу, чтобы для команд "Назад" и "Вперед" использовать боковые кнопки. Вы можете переназначить кнопки событий с помощью вызова команды xmodmap:

xmodmap -e "pointer = 1 2 3 6 7 4 5"

Команду xmodmap необходимо запускаться каждый раз, когда вы входите в GNOME, так что перейдите по System→Preferences→Sessions→Startup Programs (Система → Настройки → Сессии → Программы, запускаемые при входе) и укажите запуск этой команды; затем в файле /etc/X11/xorg.conf с помощью изменения значений в строке ZaxisMapping компенсируйте изменение номеров кнопок:

    Option       "ZAxisMapping" "6 7"

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

    Option       "Resolution" "2400"

После того, как вы сделаете все эти изменения, конфигурация мыши будет выглядеть следующим образом :

Section "InputDevice" 
    Identifier   "Configured Mouse" 
    Driver       "mouse" 
    Option       "CorePointer" 
    Option       "Device" "/dev/input/mice" 
    Option       "Protocol" "ExplorerPS/2" 
    Option       "Buttons" "7" 
    Option       "ZAxisMapping" "4 5" 
EndSection

Чтобы изменения вступили в силу, необходимо перезапустить Xorg. Самый простой способ сделать - это выйти из текущего сеанса и нажать клавиши Ctrl-Alt-Пробел, что остановит Xorg и заставит GDM перезапустить его (если GDM не перезапустит его, войдите в консоль и выполните команду sudo /etc/init.d/gdm restart).

Войдите обратно и запустите xev, утилиту - репортер о событиях X EVent, и понажимайте на каждую кнопку и повращайте колесо скроллинга в каждом направлении. Каждое событие будет вызывать генерацию номера кнопки, который будет появляться в терминале. Если все будет идти так, как надо, каждая кнопка должна выдавать правильный номер кнопки.


Назад Оглавление Вперед


Средняя оценка 5 при 1 голосовавших
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии

Ярослав Владимирович пишет: 27.02.2012
Здравствуйте. У меня ситуация такая: я использую проприетарный драйвер fglrx и по этому у меня, с момента установки Ubuntu 11.10 не было конфигурационного файла xorg.conf Я его создал командой amdconfig --initial так как сконфигурировать автоматически сама операционная не смогла, командой Xorg -configure Создавши и открывши, только что созданный выше командой xorg.conf, у меня открылось такое содержимое: Section "ServerLayout" Identifier "aticonfig Layout" Screen 0 "aticonfig-Screen[0]-0" 0 0 EndSection Section "Module" EndSection Section "Monitor" Identifier "aticonfig-Monitor[0]-0" Option "VendorName" "ATI Proprietary Driver" Option "ModelName" "Generic Autodetecting Monitor" Option "DPMS" "true" EndSection Section "Device" Identifier "aticonfig-Device[0]-0" Driver "fglrx" BusID "PCI:1:0:0" EndSection Section "Screen" Identifier "aticonfig-Screen[0]-0" Device "aticonfig-Device[0]-0" Monitor "aticonfig-Monitor[0]-0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 EndSubSection EndSection Как вы видите, блока Section "InputDevice" у меня нету, на сколько я понял его можно создать самому и внести данные, но подскажите пожалуйста, какие обязательные данные должны находится в этом блоке?