Peter Hutterer
7df7ed325a
tools: automatically print usage() on ERR_USAGE
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-15 04:48:14 +10:00
Peter Hutterer
839b31eb25
tools: categorize the return code
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-15 04:48:14 +10:00
Peter Hutterer
e7b421ae19
tools: fix resolution active get/set
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-15 04:48:14 +10:00
Peter Hutterer
6e56dec9ed
tools: add an error message for a missing device path
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-15 04:48:14 +10:00
Peter Hutterer
fb941b5f75
tools: let ratbag_device_from_arg reduce the argc
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-15 04:48:14 +10:00
Peter Hutterer
aee827efa1
tools: drop active profile check in "profile active set"
...
Once we have the profile, we can call set_active and be done with it. No need
to check if another profile is currently active.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-15 04:48:14 +10:00
Peter Hutterer
f97a3142d1
tools: use the new flags for switch-etekcity and change-button
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-15 04:48:14 +10:00
Peter Hutterer
87881fd9d5
tools: change error messages into a more terse format
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-15 04:48:14 +10:00
Peter Hutterer
5e3ca7692e
tools: auto-fill profile, resolution, device for each command
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:28:00 +10:00
Peter Hutterer
8af1530ea5
tools: make the top-level command list a subcommand itself
...
Allows us to reuse all the subcommand code, and factor out a bunch of helpers
later.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:28:00 +10:00
Peter Hutterer
26f82c7ecc
tools: use the same error path in main()
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:28:00 +10:00
Peter Hutterer
f2bbd411fe
tools: enable a plain dpi get/set
...
Works on the active profile, active resolution by default.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:28:00 +10:00
Peter Hutterer
9e02b26d74
tools: implement dpi get
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:28:00 +10:00
Peter Hutterer
b39a00d9e6
tools: update dpi set to work on the right resolution
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:28:00 +10:00
Peter Hutterer
ce4771456f
tools: pre-load profile/resolution for the respective commands
...
So anything below either will have options->profile/resolution pre-set to the
right one.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:28:00 +10:00
Peter Hutterer
c504d8c029
tools: always open the device for all args
...
Except for "list", all commands need a device argument. Open it ahead of time
to reduce the boilerplate in each function.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:28:00 +10:00
Peter Hutterer
a0fb3a82f6
tools: implement dpi set, drop switch-dpi
...
Same code, except that we use a helper function to get the active profile.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:28:00 +10:00
Peter Hutterer
c89eb2f37b
tools: improve the usage() output a bit
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:28:00 +10:00
Peter Hutterer
a838d6d1cd
tools: add the stubs for the button/resolution command
...
Only stubs, and the usage() output isn't correct anymore. But we need to fix
this anyway, the combination of arguments will be too complex to handle them
in such a simple approach.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:28:00 +10:00
Peter Hutterer
6f93b0da69
tools: add another helper to open the device
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:28:00 +10:00
Peter Hutterer
59123945a7
tools: add profile active get|set commands
...
This replaces the switch-profile command
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:27:56 +10:00
Peter Hutterer
eb46a6581b
tools: add a helper to get the device path
...
Doesn't do much, but it reduces some of the argc checking in the callers,
especially since we always expect the device as last argument
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:25:00 +10:00
Peter Hutterer
f99696e6d2
tools: use the parsed index instead of the argument
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:25:00 +10:00
Peter Hutterer
d0d5284132
tools: add ability to have subcommands in a ratbag_cmd
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 11:25:00 +10:00
Peter Hutterer
332a046cbb
tools: stack the options into a struct passed to the functions
...
No functional changes, but this allows us to pass down profiles, resolutions,
etc.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-14 01:06:51 +10:00
Thomas Hindoe Paaboel Andersen
86960308e7
tools: add a missing prototype
2015-09-12 08:48:25 +02:00
Benjamin Tissoires
2bc5b1910a
Add roccat implementation
...
This driver is basically a duplicate of the Etekcity.
After the copy-paste, I renamed all the the "etekcity"
by "roccat" and then rev-engineered the various constants.
Still a WIP, but it is getting usable.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2015-09-11 17:44:58 -04:00
Benjamin Tissoires
0429609634
tools: fix macro time conversion to str
...
Those breaks... I keep forgetting them
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2015-09-10 18:03:37 -04:00
Peter Hutterer
a4515a59ae
tools: strncmp -> strneq
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-11 03:57:59 +10:00
Benjamin Tissoires
d7ef078c02
tools: Now, we have foo and bar as macro
...
Still not a parsing of the user input...
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2015-09-10 08:49:51 -04:00
Benjamin Tissoires
286f398763
tools: add a (currently fake) way of addressing a macro change
...
We need to implement a parsing of the given macro...
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2015-09-09 11:26:15 -04:00
Benjamin Tissoires
cdf710d807
add support for getting/setting the macro name
...
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2015-09-09 11:26:15 -04:00
Benjamin Tissoires
ce10bb1e84
macro: add first implementation
...
The doctext needs fixes and the API might not be final.
This however works and allow to read the macro.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2015-09-09 11:26:15 -04:00
Benjamin Tissoires
b9376bdc67
tools: split out some shared functions
...
Allows to reuse them in other tools
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com >
2015-09-02 22:20:00 -04:00
Peter Hutterer
6ec078d43b
Add hooks for getting/setting the default profile
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-02 17:03:34 +10:00
Benjamin Tissoires
4b9eae11d9
tools: cmd_info: if there is no profile, it's a bug...
...
...but we should not go further
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2015-09-01 18:10:09 -04:00
Peter Hutterer
99a9752104
Add per-resolution capabilities
...
Currently only the hooks for x/y resolution, the rest is unimplemented. Also
the etekcity driver needs an update here.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-01 17:30:47 +10:00
Peter Hutterer
9383097fd2
Namespace the ratbag capabilities to the ratbag device
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-09-01 17:25:55 +10:00
Peter Hutterer
63e0ddc550
Add a LOG_LEVEL_RAW log level
...
Lower than debug, for spitting out all the protocol codes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-08-28 15:08:51 +10:00
Peter Hutterer
49d70577c0
Replace get_active_profile with profile_is_active
...
And the same for set_active_profile -> set_active. This API is more reliable,
the previous incarnation required the client to compare pointer values.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-08-28 11:04:58 +10:00
Peter Hutterer
eed48bd102
tools: resolutions with dpi 0 are disabled, print it as that
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-08-28 09:58:44 +10:00
Peter Hutterer
b427bd4a7b
tools: print the right resolution index
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-08-28 09:57:09 +10:00
Peter Hutterer
e1836583a5
Add ratbag_resolution_set/get_default
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-08-28 09:49:03 +10:00
Benjamin Tissoires
07a0b0961b
tools: profiles are 0-index based
...
It felt weird reading:
Profile 2
Resolutions:
3: 1000dpi @ 500Hz (active)
3: 1600dpi @ 500Hz
3: 2400dpi @ 500Hz
3: 3200dpi @ 500Hz
3: 4000dpi @ 500Hz
3: 8000dpi @ 500Hz
We could index the profiles to 1 too, but that would introduce slightly
more code change.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2015-08-27 14:31:58 -04:00
Peter Hutterer
7da10cc074
Add resolution modes
...
The devices we're dealing with all have multiple DPIs to configure. This API
will replace the current ratbag_profile_set_resolution_dpi() and friends.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-08-27 17:02:15 +10:00
Peter Hutterer
be58d91c63
Fix compiler warnings
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-08-27 12:27:48 +10:00
Benjamin Tissoires
14c29322fd
tools: fix switch-etekcity command
...
The purpose is to disable the buttons, not having them reporting BTN_LEFT.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2015-08-26 13:13:11 -04:00
Benjamin Tissoires
11d1a111a0
tools: dump the action mapped to the buttons
...
The buttons are given as plain numbers, not sure if we should
use BTN_LEFT, BTN_RIGHT, etc instead.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2015-08-26 13:12:27 -04:00
Benjamin Tissoires
d58ef45cfb
etekcity: fill the type field of the buttons
...
This adds two button types: pinkie and pinkie2 when there are buttons
on the right side of the mouse.
OK, I could have called them left-handed-thumb.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2015-08-26 11:40:24 -04:00
Peter Hutterer
b1fc95ee74
tools: fix/implement ratbag-command change-button
...
New command syntax is:
ratbag-command change-button 1 button 2 /dev/input/event0
... sets button 1 to logical button 2
ratbag-command change-button 1 key KEY_UP /dev/input/event0
... sets button 1 to KEY_UP
ratbag-command change-button 1 special "wheel up" /dev/input/event0
... sets button 1 to send wheel up
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-08-26 17:13:58 +10:00