1
0
forked from drath/libratbag
Commit Graph

452 Commits

Author SHA1 Message Date
Benjamin Tissoires
c7f8e851c1 etekcity: write the profile to commit the button asap
we should not require to actually write the profile to actually write the
button in the memory of the device.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2015-09-15 11:06:30 -04:00
Peter Hutterer
a3aacd3a99 Drop the _by_index suffix
This is the default, if we need a _by_name or so later we can add it.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-16 00:55:12 +10:00
Benjamin Tissoires
41cf0176f0 roccat: remove spurious errors when waiting for the device to be ready
Not perfect but we need to figure out what 0x02 means eventually.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2015-09-15 10:46:26 -04:00
Benjamin Tissoires
3dc8f466ec roccat: abort if the macro does not match
If there is any problem while retrieving a macro, the first element in
the report might not match. In such cases, abort.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2015-09-15 10:38:12 -04:00
Benjamin Tissoires
892497ca60 roccat: retrieve the macro if we are not in the default profile
When the macro is not on profile 0, we need to set the mouse in the
correct mode first.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2015-09-15 10:37:17 -04:00
Benjamin Tissoires
ee0c58ca35 roccat: break infinite loops
When waiting for a status, the mouse sometimes answers 0x02, which seems
to be EINVAL (though it can be an ACK too). Treat this answer so we do
not end up in some infinite loops.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2015-09-15 10:36:10 -04:00
Benjamin Tissoires
8a99ed6436 roccat: write the profile to commit the button asap
we should not require to actually write the profile to actually write the
button in the memory of the device.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2015-09-15 10:34:42 -04:00
Peter Hutterer
5e4ac9f908 Merge branch 'ratbag-cmd-revamp'
This pull refactors ratbag-cmd to expose almost all functionality from
libratbag and introduces a structured set of arguments.
The history is a bit messy, for review it's recommended to look at the
resulting source file for errors more so than the actual patch set.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 23:41:00 +10:00
Peter Hutterer
a0795f0635 Update TODO
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 23:36:29 +10:00
Peter Hutterer
24bbf4b6db tools: add test for macro arguments
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 23:36:29 +10:00
Peter Hutterer
6ddc529ff3 tools: append commands to array in test script, don't use manual indices
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 23:36:29 +10:00
Peter Hutterer
2d922012fd tools: fix usage() indentation, add exit status
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 23:36:29 +10:00
Peter Hutterer
7ff92c4226 tools: add another "action" subcommand to set/get buttons
Like usage() already documented

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 23:36:29 +10:00
Peter Hutterer
e416722a12 TODO: remove the ratbag-command todo
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 23:36:29 +10:00
Peter Hutterer
1c84e74572 tools: Support macros
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 23:36:29 +10:00
Peter Hutterer
3b452df36c tools: do a cap check before trying to set buttons/macros/..
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 06:23:27 +10:00
Peter Hutterer
fa06db8398 tools: use strtol(), not strtod() to convert ints
oops.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 04:52:25 +10:00
Peter Hutterer
834daebdd8 tools: support the button commands
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 04:52:25 +10:00
Peter Hutterer
c5d79f5806 tools: support resolution's "rate get/set"
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 04:52:25 +10:00
Peter Hutterer
d6153ddb92 tools: change the usage() output to a manual one
A bit easier to explain when we have more flexibility.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 04:52:25 +10:00
Peter Hutterer
0a3269dbdb tools: improve profile active get/set/
Drop some unnecessary code, make the functions a bit smaller. Drop the printf
when we're activating the active profile.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 04:52:25 +10:00
Peter Hutterer
02b14046a3 tools: implement resolution active get/set
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 04:52:25 +10:00
Peter Hutterer
5f4b770283 tools: add a test for the ratbag commands
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 04:52:25 +10:00
Peter Hutterer
61d9c1006b tools: return the right error from device_from_arg
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-15 04:48:14 +10:00
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
Benjamin Tissoires
8e1d750ba1 roccat: add SVG for the Kone XTD
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2015-09-13 18:40:40 -04:00
Benjamin Tissoires
e73e1e2ab1 roccat: replace various msleep with actual device wait for readiness
The device can tell whether it is ready or not, so better poll for it
instead of waiting 100ms and hoping for the best.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2015-09-13 18:40:40 -04:00