Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
L
libinput
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 90
    • Issues 90
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 10
    • Merge Requests 10
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • libinput
  • libinput
  • Issues
  • #204

Closed
Open
Opened Dec 20, 2018 by jul@jul39

Regression 16.04 LTS to 18.04 LTS: Contour Design RollerMouse double click button no longer results in a double click event

My "Contour Design RollerMouse Free 2" has a specific button for double click. This button should with one physical click result in double click.

Reported also here: https://bugs.launchpad.net/ubuntu/+source/libinput/+bug/1767660

sudo libinput --version
1.10.4
sudo libinput list-devices

# two devices appear (/dev/input/event6 and /dev/input/event7) for one physical devices.
# one for mouse, one for keyboard, probably because copy/paste functionality use ctrl+c / ctrl+v shortcuts)

Device:           Contour Design RollerMouse Re:d
Kernel:           /dev/input/event6
Group:            5
Seat:             seat0, default
Capabilities:     pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   button
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           Contour Design RollerMouse Re:d
Kernel:           /dev/input/event7
Group:            5
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a
sudo udevadm info /dev/input/event6
P: /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0B33:1000.0001/input/input13/event6
N: input/event6
S: input/by-id/usb-Contour_Design_RollerMouse_Re:d-event-mouse
S: input/by-path/pci-0000:00:14.0-usb-0:2:1.0-event-mouse
E: DEVLINKS=/dev/input/by-id/usb-Contour_Design_RollerMouse_Re:d-event-mouse /dev/input/by-path/pci-0000:00:14.0-usb-0:2:1.0-event-mouse
E: DEVNAME=/dev/input/event6
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0B33:1000.0001/input/input13/event6
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_MODEL=RollerMouse_Re:d
E: ID_MODEL_ENC=RollerMouse\x20Re:d
E: ID_MODEL_ID=1000
E: ID_PATH=pci-0000:00:14.0-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_2_1_0
E: ID_REVISION=0000
E: ID_SERIAL=Contour_Design_RollerMouse_Re:d
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030102:030101:030100:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Contour_Design
E: ID_VENDOR_ENC=Contour\x20Design
E: ID_VENDOR_ID=0b33
E: LIBINPUT_DEVICE_GROUP=3/b33/1000:usb-0000:00:14.0-2
E: MAJOR=13
E: MINOR=70
E: SUBSYSTEM=input
E: USEC_INITIALIZED=63347089



sudo udevadm info /dev/input/event7
P: /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1/0003:0B33:1000.0002/input/input14/event7
N: input/event7
S: input/by-id/usb-Contour_Design_RollerMouse_Re:d-if01-event-kbd
S: input/by-path/pci-0000:00:14.0-usb-0:2:1.1-event-kbd
E: BACKSPACE=guess
E: DEVLINKS=/dev/input/by-path/pci-0000:00:14.0-usb-0:2:1.1-event-kbd /dev/input/by-id/usb-Contour_Design_RollerMouse_Re:d-if01-event-kbd
E: DEVNAME=/dev/input/event7
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1/0003:0B33:1000.0002/input/input14/event7
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_MODEL=RollerMouse_Re:d
E: ID_MODEL_ENC=RollerMouse\x20Re:d
E: ID_MODEL_ID=1000
E: ID_PATH=pci-0000:00:14.0-usb-0:2:1.1
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_2_1_1
E: ID_REVISION=0000
E: ID_SERIAL=Contour_Design_RollerMouse_Re:d
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030102:030101:030100:
E: ID_USB_INTERFACE_NUM=01
E: ID_VENDOR=Contour_Design
E: ID_VENDOR_ENC=Contour\x20Design
E: ID_VENDOR_ID=0b33
E: LIBINPUT_DEVICE_GROUP=3/b33/1000:usb-0000:00:14.0-2
E: MAJOR=13
E: MINOR=71
E: SUBSYSTEM=input
E: TAGS=:power-switch:
E: USEC_INITIALIZED=63307104
E: XKBLAYOUT=fr
E: XKBMODEL=pc105
E: XKBVARIANT=latin9
sudo libinput debug-events --verbose


# Button Simple Click:

event6  - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_OTHERBUTTON → DEBOUNCE_STATE_IS_UP
event6  - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_DOWN_WAITING
-event6   POINTER_BUTTON    +2.13s      BTN_LEFT (272) pressed, seat count: 1
event6  - debounce state: DEBOUNCE_STATE_DOWN_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_DOWN
event6  - debounce state: DEBOUNCE_STATE_IS_DOWN → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_RELEASE_WAITING
 event6   POINTER_BUTTON    +2.17s      BTN_LEFT (272) released, seat count: 0
event6  - debounce state: DEBOUNCE_STATE_RELEASE_WAITING → DEBOUNCE_EVENT_TIMEOUT_SHORT → DEBOUNCE_STATE_RELEASED
event6  - debounce state: DEBOUNCE_STATE_RELEASED → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP


# manual double click with the Simple Click button:

event6  - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_OTHERBUTTON → DEBOUNCE_STATE_IS_UP
event6  - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_DOWN_WAITING
-event6   POINTER_BUTTON    +2.15s      BTN_LEFT (272) pressed, seat count: 1
event6  - debounce state: DEBOUNCE_STATE_DOWN_WAITING → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_RELEASE_PENDING
event6  - debounce state: DEBOUNCE_STATE_RELEASE_PENDING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
 event6   POINTER_BUTTON    +2.17s      BTN_LEFT (272) released, seat count: 0
event6  - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_DOWN_WAITING
 event6   POINTER_BUTTON    +2.35s      BTN_LEFT (272) pressed, seat count: 1
event6  - debounce state: DEBOUNCE_STATE_DOWN_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_DOWN
event6  - debounce state: DEBOUNCE_STATE_IS_DOWN → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_RELEASE_WAITING
 event6   POINTER_BUTTON    +2.37s      BTN_LEFT (272) released, seat count: 0
event6  - debounce state: DEBOUNCE_STATE_RELEASE_WAITING → DEBOUNCE_EVENT_TIMEOUT_SHORT → DEBOUNCE_STATE_RELEASED
event6  - debounce state: DEBOUNCE_STATE_RELEASED → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_PRESS_PENDING
event6  - debounce state: DEBOUNCE_STATE_PRESS_PENDING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_DOWN
 event6   POINTER_BUTTON    +2.40s      BTN_LEFT (272) pressed, seat count: 1
event6  - debounce state: DEBOUNCE_STATE_IS_DOWN → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_RELEASE_WAITING
 event6   POINTER_BUTTON    +2.42s      BTN_LEFT (272) released, seat count: 0
event6  - debounce state: DEBOUNCE_STATE_RELEASE_WAITING → DEBOUNCE_EVENT_TIMEOUT_SHORT → DEBOUNCE_STATE_RELEASED
event6  - debounce state: DEBOUNCE_STATE_RELEASED → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP


# Button "Double Click": (no double click event was triggered, it's the object of this report issue)

event6  - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_OTHERBUTTON → DEBOUNCE_STATE_IS_UP
event6  - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_DOWN_WAITING
-event6   POINTER_BUTTON    +1.88s      BTN_LEFT (272) pressed, seat count: 1
event6  - debounce state: DEBOUNCE_STATE_DOWN_WAITING → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_RELEASE_PENDING
event6  - debounce state: DEBOUNCE_STATE_RELEASE_PENDING → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_DOWN_WAITING
event6  - debounce state: DEBOUNCE_STATE_DOWN_WAITING → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_RELEASE_PENDING
event6  - debounce state: DEBOUNCE_STATE_RELEASE_PENDING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
 event6   POINTER_BUTTON    +1.89s      BTN_LEFT (272) released, seat count: 0
Edited Dec 20, 2018 by jul
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: libinput/libinput#204