На моем ThinkPad я должен выполнить что-то вроде этого в терминале:
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Middle Button Emulation" 8 1
так, чтобы мои эти 2 кнопки на моей сенсорной панели эмулировали средний щелчок мышью. Теперь мне нужна эта строка, которая будет выполняться каждый раз, когда я запускаю Gnome или X или что бы то ни было, так, чтобы это "просто работало".
Я попробовал ~/.xsession или ~/.bashrc, но напрасно. Я должен поместить его в GNOME, запускают сценарии или в/etc/X где-нибудь?
Я использую Ubuntu 11.10.
Создайте файл в /etc/X11/Xsession.d/
для него.
Я использую Просвещение DM, но это относится к другому DMS/рабочим столам. Я запускаю свою сессию с помощью xsession, таким образом, я первоначально поместил команды xinput в ~/.xsession, который не изменил все настройки, которые я хотел изменить. Только некоторые из них. Я ожидал или все или никакие изменения, таким образом, я добавил, что 10-interation цикл к моему .xsession с 1 вторым интервалом, работая xinput управляет каждый раз и проверяя, были ли настройки применены. К моему удивлению все настройки были применены после первого повторения.
Это означает, что именно Ваш DM делает что-то для переопределения xinput настроек и начиная с команды, которая запускает DM (E17 в моем случае) последний в .xsession файле, этот файл не является никаким местом для этого.
Я добавил следующие строки в своем ~/.profile, и это решило проблему:
# don't run unless we're being invoked from an xwindows session
if [[ -n ${DISPLAY} ]]; then
# set your devices names here
pointer1="IBM TrackPoint"
pointer2="Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint"
pointer3="Logitech USB Trackball"
id1=$(xinput | awk -F= "/$pointer1.*pointer/ {print \$2}" | cut -f1)
id2=$(xinput | awk -F= "/$pointer2.*pointer/ {print \$2}" | cut -f1)
id3=$(xinput | awk -F= "/$pointer3.*pointer/ {print \$2}" | cut -f1)
if [[ -n "${id1}" ]]; then
xinput --set-button-map "${id1}" 1 2 3 4 5 6 7
xinput set-prop "${id1}" "Evdev Wheel Emulation Axes" 6 7 4 5
xinput set-prop "${id1}" "Evdev Wheel Emulation" 1
xinput set-prop "${id1}" "Evdev Wheel Emulation Button" 2
xinput set-prop "${id1}" "Evdev Middle Button Emulation" 0
fi
if [[ -n "${id2}" ]]; then
xinput --set-button-map "${id2}" 1 2 3 4 5 6 7
xinput set-prop "${id2}" "Evdev Wheel Emulation Axes" 6 7 4 5
xinput set-prop "${id2}" "Evdev Wheel Emulation" 1
xinput set-prop "${id2}" "Evdev Wheel Emulation Button" 2
xinput set-prop "${id2}" "Evdev Middle Button Emulation" 0
fi
if [[ -n "${id3}" ]]; then
xinput --set-button-map "${id3}" 1 2 3 4 5 6 7 8 9
xinput set-prop "${id3}" "Evdev Wheel Emulation Axes" 6 7 4 5
xinput set-prop "${id3}" "Evdev Wheel Emulation" 1
xinput set-prop "${id3}" "Evdev Wheel Emulation Button" 8
xinput set-prop "${id3}" "Evdev Middle Button Emulation" 1
fi
fi
PS. set-int-prop был удержан от использования в пользу опоры набора (человек xinput).
Надо надеяться, это помогает кому-то.
Добавьте команду непосредственно для запущения приложений. В поле команды.
или
сделайте простой сценарий и добавьте сценарий для запущения приложений.
Это - то, как я сделал это в Ubuntu 14.04 от терминала:
1) Проверьте название своего устройства:
xinput list
2) Посмотрите доступные варианты для своего устройства:
xinput list-props "Your Device Name"
3) Измените настройки (для установки настроек, последовательных после того, как перезагрузка/завершение работы просто добавит эту команду для Запущения Приложений):
xinput set-prop "Your Device Name" "Option Name" "Value"
Вот пример, управляют, чтобы я раньше активировался заблокированный, притягивает мою сенсорную панель:
xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Locked Drags" 1
Для активирования/изменения другой опции просто ищут его в доступных вариантах устройства и играют с ними, пока Вы не получаете желаемый результат, затем добавьте команду для Запущения Приложений, и Вы сделаны! Надежда это помогает!:)