forked from drath/libratbag
57 lines
2.3 KiB
Plaintext
57 lines
2.3 KiB
Plaintext
some mice have a per axis "sensitivity" control which adapts the hardware
|
|
resolution without changing the DPI (looking at you Etekcity and Roccat).
|
|
|
|
buttons need a couple of has_capability() functions to check which action
|
|
types and actions are possible
|
|
|
|
light support:
|
|
- on/off
|
|
- color
|
|
- patterns
|
|
|
|
some epollfd-like thing for the caller to check if events are available.
|
|
Needed for notification when the mouse changes through someone else
|
|
manipulating settings.
|
|
This is on backburner for now, it'll make the library more complicated,
|
|
require HID parsing in libratbag for relatively little benefit. The only
|
|
advantage we really get out of it is that a configuration UI would be able
|
|
to update itself if a user presses a button to e.g. change the profile while
|
|
the UI is running.
|
|
|
|
We should actually drop the "key" functionality in favor of macros:
|
|
- either a device supports real hardware macro, then there is no point in
|
|
having a special set of keys exported to the user space while the driver
|
|
can just figure out which way is most efficient
|
|
- if the device does not support macros, then all of the supported keys
|
|
should be RATBAG_SPECIAL, so the UI can enumerate them and get a capability
|
|
on the current button if it supports this particular action (example:
|
|
the UI is interested in sending "Volume Up", not KEY_VOLUMEUP.
|
|
|
|
Macro support:
|
|
- enhance doctext
|
|
- add API support for name/groups
|
|
- revamp the API?
|
|
|
|
decide on a stable set of arguments, build the installed version of the
|
|
command with that set, add a set of debug arguments (e.g. the
|
|
etekcity-specific ones) only available in the build.
|
|
|
|
interactive shell mode/batch mode for ratbag-command?
|
|
|
|
dbus proxy - allows parallel access to the devices without interference, and
|
|
provides a single instance for root permissions. this should be a separate
|
|
project.
|
|
|
|
change the API to return enum ratbag_error with more meaningful error
|
|
messages. errno's are fine internally between the driver, but for the
|
|
public-facing API we need better options
|
|
|
|
ratbag-command:
|
|
- add checks for user input: negative indices, unterminated macro
|
|
sequences, excessive timeouts, etc
|
|
- add man page
|
|
- extend test cases, have a list of test cases that should work on a
|
|
specific device, as per-device separate scripts
|
|
- add default set/get to profile, resolution
|
|
|