Sunday, November 14, 2021

[ppvfjatl] programmable mouse

some features desirable in a hypothetical programmable mouse:

  1. any (decent) programmable mouse can assign programmable mouse buttons to actions "button 1" (left click), "button 2" (middle click), "button 3" (right click), "button 8" (browser back), "button 9" (browser forward).  however, we would also like to access actions "button 4" (scroll up), "button 5" (scroll down), "button 6" (scroll left), and "button 7" (scroll right), assigning them to arbitrary buttons, not just to the scroll wheel.

    "button 6" and "button 7" actions are rare.  they are emitted by Logitech MX Ergo: the scroll wheel clicks left and right, which was surprising to discover.

  2. the button numbers above are as reported by the xev program.  how large can button numbers be?  at first, the USB HID spec for mouse seems to suggest the largest possible button number is 8, but the common existence of button 9 (browser forward) disproves that.  we would like a programmable mouse to be able to emit button numbers as high as they can go.

  3. clicking the scroll wheel left and right, mentioned above, is a desirable feature.

  4. assign scroll wheel (up, down, left, right, and push) to arbitrary actions.

  5. assign a button to mean double-click of a button action.  and triple-click.

  6. scroll wheel acceleration: if the user makes many rapid "clicks" with the scroll wheel, it emits extra scroll actions (not one-to-one with clicks), allowing rapid long distance scrolling.

  7. many gaming mice offer a button or two to adjust DPI.  let those buttons be programmable, assignable to something other than adjusting DPI.

  8. drag lock: click a button once to send a button-down action, then click again to indicate button released.  LED or haptic to indicate that this is in progress.

No comments :