Peter Hutterer
5b8f3c4744
Add snprintf_safe() and sprintf_safe helpers
...
Blows up when sprintf encounters an error, the result string is empty or the
result string is truncated.
Note: sprintf_safe only works on static buffers, it uses ARRAY_LENGTH.
Fixes #14
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-10-13 07:01:09 +10:00
Peter Hutterer
1abc7cdb69
Add strdup_safe() as a reliable strdup function
...
Handles NULL and guarantees a successful strdup
Fixes #14
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2015-10-13 07:00:16 +10: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
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
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
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
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
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
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