Хотите, чтобы левая и правая кнопки мыши отображались на карте, чтобы выбрать

3

В Ubuntu 12.04 мой Asus N56DP отобразил как правую, так и левую кнопки мыши, которые нужно выбрать, или левую кнопку мыши. Чтобы получить щелчок правой кнопкой мыши или контекстное меню, я бы использовал два пальца. Я быстро привык к этому.

Все изменилось с 12.10 и позже. Я сейчас на Ubuntu 13.10. Теперь lmb - это select и rmb - контекстное меню.

Обратите внимание, что это один из этих трекпадов с сенсорной панелью с двумя кнопками под ним. Но физически кнопки не раздельные, они скрыты под трекпадом. Теперь я ненавижу поведение правой / левой кнопки мыши. Без каких-либо указаний по физическому контексту вы никогда не знаете, на какой кнопке вы нажимаете больше.

Мне бы хотелось, чтобы старые функции 12.04 рассматривали это как один кнопочный трекпад назад, но не могут понять, как это сделать. Все исследования, которые я сделал до сих пор, показывают, как переупорядочить кнопки на устройстве, но не как переназначить их таким образом, чтобы rmb и lmb были одинаковыми.

recap: Я хочу, чтобы lmb и rmb запускали select. Я хочу, чтобы нажатие на два пальца инициировало контекстное меню.

    xinput --list
 Virtual core pointer                       id=2    [master pointer  (3)]
   ↳ Virtual core XTEST pointer                 id=4    [slave  pointer  (2)]
   ↳ ETPS/2 Elantech Touchpad                   id=14   [slave  pointer  (2)]


xinput --list-props "ETPS/2 Elantech Touchpad"
Device 'ETPS/2 Elantech Touchpad':
    Device Enabled (144):   1
    Coordinate Transformation Matrix (146): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (267): 1
    Device Accel Constant Deceleration (268):   2.500000
    Device Accel Adaptive Deceleration (269):   1.000000
    Device Accel Velocity Scaling (270):    12.500000
    Synaptics Edges (271):  136, 3284, 110, 1942
    Synaptics Finger (272): 1, 1, 0
    Synaptics Tap Time (273):   180
    Synaptics Tap Move (274):   175
    Synaptics Tap Durations (275):  180, 180, 100
    Synaptics ClickPad (276):   1
    Synaptics Middle Button Timeout (277):  0
    Synaptics Two-Finger Pressure (278):    282
    Synaptics Two-Finger Width (279):   7
    Synaptics Scrolling Distance (280): 79, 79
    Synaptics Edge Scrolling (281): 0, 0, 0
    Synaptics Two-Finger Scrolling (282):   1, 1
    Synaptics Move Speed (283): 1.000000, 1.750000, 0.050150, 0.000000
    Synaptics Off (284):    0
    Synaptics Locked Drags (285):   0
    Synaptics Locked Drags Timeout (286):   5000
    Synaptics Tap Action (287): 2, 3, 0, 0, 1, 3, 0
    Synaptics Click Action (288):   1, 3, 0
    Synaptics Circular Scrolling (289): 0
    Synaptics Circular Scrolling Distance (290):    0.100000
    Synaptics Circular Scrolling Trigger (291): 0
    Synaptics Palm Detection (292): 0
    Synaptics Palm Dimensions (293):    10, 200
    Synaptics Coasting Speed (294): 20.000000, 50.000000
    Synaptics Pressure Motion (295):    30, 160
    Synaptics Pressure Motion Factor (296): 1.000000, 1.000000
    Synaptics Resolution Detect (297):  1
    Synaptics Grab Event Device (298):  1
    Synaptics Gestures (299):   1
    Synaptics Capabilities (300):   1, 0, 0, 1, 1, 1, 1
    Synaptics Pad Resolution (301): 31, 31
    Synaptics Area (302):   0, 0, 0, 0
    Synaptics Soft Button Areas (303):  1710, 0, 1682, 0, 0, 0, 0, 0
    Synaptics Noise Cancellation (304): 19, 19
    Device Product ID (260):    2, 14
    Device Node (261):  "/dev/input/event7"

synclient -l
Parameter settings:
    LeftEdge                = 136
    RightEdge               = 3284
    TopEdge                 = 110
    BottomEdge              = 1942
    FingerLow               = 1
    FingerHigh              = 1
    MaxTapTime              = 180
    MaxTapMove              = 175
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 0
    EmulateTwoFingerMinZ    = 282
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 79
    HorizScrollDelta        = 79
    VertEdgeScroll          = 0
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 1
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.0501505
    TouchpadOff             = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 2
    RBCornerButton          = 3
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 0
    ClickFinger1            = 1
    ClickFinger2            = 3
    ClickFinger3            = 0
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 200
    CoastingSpeed           = 20
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    ResolutionDetect        = 1
    GrabEventDevice         = 1
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 19
    VertHysteresis          = 19
    ClickPad                = 1
    RightButtonAreaLeft     = 1710
    RightButtonAreaRight    = 0
    RightButtonAreaTop      = 1682
    RightButtonAreaBottom   = 0
    MiddleButtonAreaLeft    = 0
    MiddleButtonAreaRight   = 0
    MiddleButtonAreaTop     = 0
    MiddleButtonAreaBottom  = 0
    
задан Scott Marlowe 26.12.2013 в 23:16
источник

1 ответ

5

В терминале:

xinput --list

Выведет что-то вроде этого:

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=10   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]
    ↳ Toshiba input device                      id=11   [slave  keyboard (3)]

Используя имя устройства, которое вы хотите изменить (например, я изменю кнопки сенсорной панели, поэтому я буду использовать "SynPS/2 Synaptics TouchPad" ):

xinput set-button-map "YOUR_DEVICE" 1 3 1 4 5 6 7 8 9 

Например, для меня:

xinput set-button-map "SynPS/2 Synaptics TouchPad" 1 3 1 4 5 6 7 8 9

(Остерегайтесь случая в имени устройства, потому что это важно.) После этого оба ваших левого и правого кликов обрабатываются как левый клик, а ваш средний клик рассматривается как правый клик. Это происходит только временно, после перезагрузки изменения теряются. Чтобы сделать его постоянным, просто создайте файл /etc/lightdm/touchpad_setup со следующим содержимым:

#!/bin/bash
xinput set-button-map "YOUR_DEVICE" 1 3 1 4 5 6 7 8 9
exit 0

и сделать его исполняемым: sudo chmod +x /etc/lightdm/touchpad_setup . После этого отредактируйте файл /etc/lightdm/lightdm.conf и добавьте в него следующую строку в разделе [SeatDefaults]:

session-setup-script=/etc/lightdm/touchpad_setup

(Если у вас уже был скрипт настройки сеанса в файле lightdm.conf , вам нужно будет добавить строку xinput set-button-map "YOUR_DEVICE" 1 3 1 4 5 6 7 8 9 в файл, указанный в этих строках в lightdm.conf .)

Обновление 1:

Также вы можете взглянуть на параметры драйвера synaptics , Основываясь на том, что вы написали в комментариях, я думаю, изменив

  

Опция "ClickPad" "boolean"

          Whether  the  device  is  a  click  pad.  A click pad device has
          button(s) integrated into the touchpad surface.  The  user  must
          press  downward  on  the touchpad in order to generated a button
          press. This property may be set automatically  if  a  click  pad
          device  is detected at initialization time. Property: "Synaptics
          ClickPad"

или, более вероятно,

  

Опция "TapButton2" "integer"

          Which mouse button is reported on a non-corner  two-finger  tap.
          Set to 0 to disable. Property: "Synaptics Tap Action"
Опция

решит вашу проблему. Проверьте текущие настройки с помощью xinput --list-props "ETPS/2 Elantech Touchpad" или synclient -l . Затем измените свои настройки с помощью xinput или synclient , которые вам больше нравятся.

Обновление 2:

Итак, вы поняли это, и вам нужно было отключить область мягкой кнопки для правой кнопки, установив для каждого параметра RightButtonArea * значение 0, synclient RightButtonAreaLeft=0 , synclient RightButtonAreaTop=0 . (Поскольку другие уже были на 0.) Та же команда с xinput будет xinput --set-prop "ETPS/2 Elantech Touchpad" "Synaptics Soft Button Areas" 0 0 0 0 0 0 0 0 .

    
ответ дан falconer 10.01.2014 в 13:26
источник