LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 11-29-2021, 11:11 AM   #1
gentisle
Member
 
Registered: May 2005
Location: Wisconsin, USA
Distribution: LinuxMint, OpenBSD
Posts: 263

Rep: Reputation: 9
How To Get A New Mouse Driver Written?? Linux, BSD, MacOS


Hello All,
https://www.amazon.com/Logitech-Trac.../dp/B001F42MKG

I have been using the Logitech Marble Mouse for decades (please see above link) and I love the way it works in Windows. One quick, flick of the trackball, and the mouse cursor can go from lower left to upper right. However, in MacOS, FreeBSD and some of its variants, and any Linux I've tried, it will not respond as well as in Windows. Even on my 4K screen laptop (Win10), the cursor flies across the screen. Not being a programmer, particularly of drivers, I have no idea how to write a driver. The drivers of the aforementioned *nix move the cursor, but I have to roll the ball 3-6 times to get it where I want it. The Logitech driver that is apparently being used is the "unified driver" that Logitech has for most of their mice and keyboards. It (unified driver) just gives terrible performance whether in Windows Mac, Linux or BSD.
This is the output of lsusb on my Macbook:
Code:
Bus 020 Device 001: ID 046d:c408 Logitech, Inc. Marble Mouse (4-button)
and this from
Code:
ioreg -p IOUSB -w0 -l
Code:
+-o USB Trackball@14200000  <class AppleUSBDevice, id 0x100000380, registered, matched, active, busy 0 (3 ms), retain 16>
        {
          "sessionID" = 1468606278
          "idProduct" = 50184
          "iManufacturer" = 1
          "bDeviceClass" = 0
          "bMaxPacketSize0" = 8
          "bcdDevice" = 5120
          "iProduct" = 2
          "iSerialNumber" = 0
          "bNumConfigurations" = 1
          "Bus Power Available" = 250
          "USB Address" = 1
          "Built-In" = No
          "locationID" = 337641472
          "bDeviceSubClass" = 0
          "bcdUSB" = 272
          "USB Product Name" = "USB Trackball"
          "PortNum" = 2
          "non-removable" = "no"
          "AppleUSBAlternateServiceRegistryID" = 4294968187
          "bDeviceProtocol" = 0
          "IOCFPlugInTypes" = {"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBHostFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
          "IOPowerManagement" = {"DevicePowerState"=2,"CurrentPowerState"=3,"CapabilityFlags"=65536,"MaxPowerState"=4,"DriverPowerState"=3}
          "kUSBCurrentConfiguration" = 1
          "Device Speed" = 0
          "USB Vendor Name" = "Logitech"
          "idVendor" = 1133
          "IOGeneralInterest" = "IOCommand is not serializable"
          "kUSBProductString" = "USB Trackball"
          "kUSBVendorString" = "Logitech"
          "IOClassNameOverride" = "IOUSBDevice"
        }
Sometimes I wonder if there is a correct driver for the mouse in the kernel (Linux) or wherever it would be for the other OS, but I have to do something special to select it. Any ideas on that one?

What I've tried:
Searching for:
Quote:
how to submit a device driver request for linux
hardware compatibility list linux kernel
brings up various things but nothing useful.

So, I would like to put in a request for whoever does the programming to see about changing this. Will I have to put in this same request for each OS (not going to ask Apple, because I know they would not do it). And where? Or am I asking for a galaxy, and I should just be content that the trackball works on some level?
Thanks,
gentisle
 
Old 11-29-2021, 11:42 AM   #2
DavidMcCann
LQ Veteran
 
Registered: Jul 2006
Location: London
Distribution: PCLinuxOS, Debian
Posts: 6,142

Rep: Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314
It may be a silly question, but have you tried the mouse configuration tool in the menu?
 
Old 11-29-2021, 12:41 PM   #3
boughtonp
Senior Member
 
Registered: Feb 2007
Location: UK
Distribution: Debian
Posts: 3,610

Rep: Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553

To extend on what David said, what you've described sounds like a sensitivity / acceleration issue, which shouldn't need a new driver - just appropriate configuration tweaks.

Assuming your profile is accurate, the OS you're using is Mint, which (by default) is Cinnamon desktop environment, so the settings you want are under Preferences > Mouse and Touchpad grouped under "Pointer size and speed".

Having said that, my Debian+Cinnamon system doesn't have custom settings there, and my (non-Logitech) trackball allows the cursor to traverse the screen with a single flick, so maybe there is a deeper issue affecting your device.

 
Old 11-29-2021, 01:19 PM   #4
gentisle
Member
 
Registered: May 2005
Location: Wisconsin, USA
Distribution: LinuxMint, OpenBSD
Posts: 263

Original Poster
Rep: Reputation: 9
Quote:
Originally Posted by DavidMcCann View Post
It may be a silly question, but have you tried the mouse configuration tool in the menu?
Quote:
Originally Posted by boughtonp View Post
To extend on what David said, what you've described sounds like a sensitivity / acceleration issue, which shouldn't need a new driver - just appropriate configuration tweaks.

Assuming your profile is accurate, the OS you're using is Mint, which (by default) is Cinnamon desktop environment, so the settings you want are under Preferences > Mouse and Touchpad grouped under "Pointer size and speed".

Having said that, my Debian+Cinnamon system doesn't have custom settings there, and my (non-Logitech) trackball allows the cursor to traverse the screen with a single flick, so maybe there is a deeper issue affecting your device.


Yes, every which way I could, and it only speeds up a little. But still have to use 3-4 swipes of the ball to get anywhere. And that's with Mac Catalina, FreeBSD, and LinuxMint (as well as other Debian/Ubuntu distros I've tried. Is there some special way to adjust the two settings to get max speed? I'm on my mac now, and I forget what the other setting is, but one is tracking speed. I had KDE added to the Cinnamon because I like some of the programs in it better. BUT BEFORE I ADDED KDE, I adjusted the mouse in Cinnamon, to no avail. MacOS only has one setting, so unless there is a command line hack, (and there probably is), nothing I can do there. I know OpenBSD allows setting the keyboard by modifying one of the files in /etc, I think WSCONTROL, or something like that, and you can make the keyboard type so fast, you'd need to type 250 wpm to keep from mis-typing. So I suspect there is some kind of hack like that. Anyone ever done something like that to a gaming mouse?
 
Old 11-29-2021, 03:06 PM   #5
jefro
Moderator
 
Registered: Mar 2008
Posts: 21,993

Rep: Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628
I've used the PS/2 Logitech trackballs for decades until I had to replace them with a usb model and of course get a new kvm for the usb. I have never noticed anything like you say but I also have never used a mac. I guess it is possible that the problem is there.
 
1 members found this post helpful.
Old 11-29-2021, 04:53 PM   #6
boughtonp
Senior Member
 
Registered: Feb 2007
Location: UK
Distribution: Debian
Posts: 3,610

Rep: Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553Reputation: 2553

You can use "xset q" to see the generic acceleration/threshold values and "xinput list-props $ID" to get more detailed device-specific info (where $ID is obtained from "xinput list" and happens to be 12 on the two machines I checked). Both commands have option to change values - I've no idea if there's a maximum, nor if they work the same way on Wayland or not.

There's a bunch of info for your specific hardware here: https://wiki.archlinux.org/title/Logitech_Marble_Mouse - obviously Arch isn't Mint but the Arch Wiki often has useful info - e.g. maybe you have acceleration profile on "flat" and need it to be "adaptive" - I think that's one of the properties xinput can display/configure.

 
Old 11-29-2021, 08:09 PM   #7
mrmazda
LQ Guru
 
Registered: Aug 2016
Location: SE USA
Distribution: openSUSE 24/7; Debian, Knoppix, Mageia, Fedora, others
Posts: 5,818
Blog Entries: 1

Rep: Reputation: 2068Reputation: 2068Reputation: 2068Reputation: 2068Reputation: 2068Reputation: 2068Reputation: 2068Reputation: 2068Reputation: 2068Reputation: 2068Reputation: 2068
I've been using Logitech trackballs, including the Marble, on multiple Linux PCs ever since they first came to US market. I can't recall the last time I needed to adjust "mouse" settings for any of them. I may never have. Currently AFAIK the only "driver" my current one is using is this:
Code:
# rpm -qi libinput10
Name        : libinput10
...
Summary     : Input device and event processing library
Description :
libinput is a library that handles input devices for display servers and
other applications that need to directly deal with input devices.

It provides device detection, device handling, input device event
processing and abstraction so minimize the amount of custom input
code the user of libinput need to provide the common set of
functionality that users expect.
Distribution: openSUSE Leap 15.2
 
1 members found this post helpful.
Old 11-30-2021, 10:44 AM   #8
gentisle
Member
 
Registered: May 2005
Location: Wisconsin, USA
Distribution: LinuxMint, OpenBSD
Posts: 263

Original Poster
Rep: Reputation: 9
Quote:
jefro I've used the PS/2 Logitech trackballs for decades until I had to replace them with a usb model and of course get a new kvm for the usb. I have never noticed anything like you say but I also have never used a mac. I guess it is possible that the problem is there.
Yes, I also hated losing the PS/2 mouse/keyboard connections.

Quote:
boughtonp
You can use "xset q" to see the generic acceleration/threshold values and "xinput list-props $ID" to get more detailed device-specific info (where $ID is obtained from "xinput list" and happens to be 12 on the two machines I checked). Both commands have option to change values - I've no idea if there's a maximum, nor if they work the same way on Wayland or not.

There's a bunch of info for your specific hardware here: https://wiki.archlinux.org/title/Logitech_Marble_Mouse - obviously Arch isn't Mint but the Arch Wiki often has useful info - e.g. maybe you have acceleration profile on "flat" and need it to be "adaptive" - I think that's one of the properties xinput can display/configure.
Those commands look promising. I'm on the road, and my Linux laptop is a heavy 17" Asus, so it's at home. The Arch Linux page looks promising. Guess I should have thought to search for "marble mouse" and Linux.

mrmazda. I'll check and see if libinput10 is loaded. Currently, I do have Kubuntu 20.x loaded.

I will dig around to see if there are some MacOS equivalent commands to change. Homebrew didn't have an xset, but did have an xinput. However, I think since it is loading many files, it must be loading the whole X system, which I do not want. So perhaps there is something else. Any way. I'll mark this as solved.
 
Old 11-30-2021, 10:45 AM   #9
gentisle
Member
 
Registered: May 2005
Location: Wisconsin, USA
Distribution: LinuxMint, OpenBSD
Posts: 263

Original Poster
Rep: Reputation: 9
Thank you everyone.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Mouse not working on Damn Small Linux | Mouse: Omega Optical Mouse (16c Gaming Mouse) AndyDeveloper Linux - Hardware 3 04-09-2017 01:32 PM
PC BSD, Open BSD, or Free BSD ? Alexvader *BSD 5 02-08-2010 12:40 AM
Video For BSD --- New project to develop V4L compatible drivers for BSD Fritz_Katz *BSD 5 07-19-2008 11:53 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 11:52 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration