How to enable all buttons on trackball?

I have ELECOM HUGE Wired Trackball:
Code:
ums1: <ELECOM TrackBall Mouse HUGE TrackBall, class 0/0, rev 2.00/1.10, addr 5> on usbus0
ums1: 5 buttons and [XYZT] coordinates ID=1
Clicks from buttons FN1, FN2 and FN3 are not recognized. In ums(4) it is written, that "Supported are mice with any number of buttons".

Is there any way that I can use all of the buttons on this trackball?
 
As far as I can tell, in the virtual console are 3 functions possible (see moused(8) ):
  • marking text, left button
  • paste text, right button
  • virtual scrolling, middle button
Not sure what functions you expect with the other buttons.

In Xorg x11/libinput takes the mouse functions over. Mouse configuration, if necessary, should be set in Section "InputClass" of /usr/local/etc/X11/xorg.conf.d/<file>.conf.
 
I'm using tiling Wayland compositor Sway.

libinput debug-events shows no response from buttons FN1, FN2 and FN3.

For comparison, when I run the same command libinput debug-events in Fedora Sway Spin 40 Live on the same laptop, then clicks on buttons FN1-FN3 are registered correspondingly as BTN_FORWARD (277), BTN_BACK (278) and BTN_TASK (279).

Is the Linux driver more advanced or is it possible to configure the FreeBSD driver to recognize additional buttons on trackball? Or is it possible to force trackball to use some other, maybe more fitting driver, for example uhid?
 
I enabled the usbhid from /boot/loader.conf:
Code:
hw.usb.usbhid.enable="1"
and loaded the driver through /etc/rc.conf:
Code:
kld_list="usbhid"
After reboot sway did not start :(
ums(4) was replaced by hms(4):
Code:
hms0: <ELECOM TrackBall Mouse HUGE TrackBall> on hidbus0
hms0: 5 buttons and [XYWH] coordinates ID=1
hcons0: <ELECOM TrackBall Mouse HUGE TrackBall Consumer Control> on hidbus0
hsctrl0: <ELECOM TrackBall Mouse HUGE TrackBall System Control> on hidbus0
The buttons FN1-FN3 were still unresponsive.

It seems that in the case of ELECOM trackballs, a fix is needed. Linux drivers have it. Comment from hid-elecom.c:
/*
* Certain ELECOM mice misreport their button count meaning that they only work
* correctly with the ELECOM mouse assistant software which is unavailable for
* Linux. A four extra INPUT reports and a FEATURE report are described by the
* report descriptor but it does not appear that these enable software to
* control what the extra buttons map to. The only simple and straightforward
* solution seems to involve fixing up the report descriptor.
*/
Further reading: ELECOM DEFT and the broken descriptor.

So there is no quick and easy solution without driver fix.
 
Back
Top