Как отключить эмуляцию прокрутки?

Как отключить эмуляцию колесика мыши средней кнопкой мыши? Мне нужно использовать средние ярлыки мыши в Blender, и эта функция охватывает среднюю мышь во всех приложениях. Можно отключить это только для Blender? Потому что я думаю, что эта функция очень полезна в некоторых приложениях.

ОС: Ubuntu 11.10
ПК: Lenovo ThinkPad X200

введите описание изображения здесь

2 ответа

Решение

Я исправил это, изменив Blender на "Emulate 3 Button Mouse" и отключив открытие контекстного меню с помощью Alt+RightMouse. Как отключить привязку клавиатуры alt-right-click? Это просто совет для пользователей Blender, я не нахожу возможность отключить прокрутку в CCSM.:(

Вы можете отключить эмуляцию колеса мыши, используя xinput

$ xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation" 0

Или с libinput, это может быть:

$ xinput set-prop "TPPS/2 IBM TrackPoint" "libinput Scroll Method Enabled" 0 0 0

Я запускаю Blender, используя следующий скрипт-обертку. Он будет следить за окном и отключать эмуляцию колеса, пока он сфокусирован, однако, возможно, он запутается, если у вас открыто несколько окон Blender.

#!/bin/bash
DEVICE="TPPS/2 IBM TrackPoint"
PROP="libinput Scroll Method Enabled"
LIBINPUT=1

if [[ $PROP == "libinput"* ]] ; then
    ENABLE="0 0 1"
    DISABLE="0 0 0"
else
    ENABLE="1"
    DISABLE="0"
fi

blender "$@" &
BLENDER_ID=$(xdotool search --sync --limit 1 --classname Blender)
( xprop -id $BLENDER_ID -spy _NET_WM_STATE ; echo ) | while read ; do 
  if [[ $REPLY == *_NET_WM_STATE_FOCUSED* ]] ; then
    xinput set-prop "$DEVICE" "$PROP" $DISABLE 
  else
    xinput set-prop "$DEVICE" "$PROP" $ENABLE
  fi
done

Если у вас нет xdotool, удалить -id $(...) вариант из xprop позвоните, и вам нужно будет просто нажать на окно Blender после запуска скрипта.

РЕДАКТИРОВАТЬ: я переключил дистрибутивы и должен был превратить однострочный в скрипт для обработки свойства libinput

Другие вопросы по тегам