[PATCH evtest v3] Add one-shot query functionality
Peter Hutterer
peter.hutterer at who-t.net
Sun Aug 28 21:19:05 PDT 2011
On Fri, Aug 26, 2011 at 11:32:08AM -0400, Paul Fox wrote:
> peter wrote:
> > On Wed, Jul 20, 2011 at 06:25:03PM +0100, Daniel Drake wrote:
> > > Add functionality to query evdev state of a specific key, switch, button,
> > > LED or sound event. This is useful in programs such as powerd
> > > (http://wiki.laptop.org/go/Powerd) which need to query things like the
> > > state of the laptop lid switch from shell code.
> > >
> > > Original capture-mode functionality is left unchanged and is still
> > > activated by default. New usage modes are explained in the man page.
> > >
> > > Signed-off-by: Daniel Drake <dsd at laptop.org>
> >
> > thanks! merged with one change: strcasecmp ??? strcmp. I'm not sure why we'd
> > need to accept both "EV_KEY" and "ev_key". I think it'd cause confusion for
> > little benefit but you can convince me otherwise before I push it on my
> > Monday :)
>
> hi -- two small fixes to this, since i was just using the new evtest
> features in powerd yesterday.
>
> one is just a comment fixup, resulting from the above strcasecmp/strcmp
> change.
>
> the other makes the documentation match the code with respect to
> exit return codes. i confess that aesthetically i'd prefer to
> change the code to match the docs -- so if anyone else agrees, i'm
> all for it, and would be happy to create a different patch. the
> issue is whether the command should "succeed" when a switch or key is
> closed, or when it's not closed. since one is usually testing for
> closure, i'd prefer that that be the success case. but clearly either
> way works, so leaving as-is is fine too.
well, we have three exit codes, 0, 1 and 10, corresponding to "unset",
"error" and "set". so we can't really assume boolean handling of this one
anyway, a caller already needs to know which value was returned, not just
success/error.
Patches pushed, thanks.
8a10dfe..4479437 master -> master
fwiw, next time please submit patches from git format-patch, they're easier
to apply.
Cheers,
Peter
> commit ed912b016e6e2bfea692a592058aeaee53b62234 (master)
> Author: Paul Fox <pgf at laptop.org>
> Date: Fri Aug 26 11:16:34 2011 -0400
>
> change documentation of query-mode exit values to match code
>
> in query mode, the zero/non-zero exit code matches the zero/non-zero
> state of the key bit. so the command "succeeds" in the shell sense
> when the key or switch is _not_ pressed or closed.
>
> diff --git a/evtest.txt b/evtest.txt
> index 5ae7092..b614482 100644
> --- a/evtest.txt
> +++ b/evtest.txt
> @@ -29,8 +29,8 @@ of the state of a specific key *value* of an event *type*.
> being queried.
>
> If the state bit is set (key pressed, switch on, ...), evtest exits with
> -code 0. If the state bit is unset (key depressed, switch off, ...), evtest
> -exits with code 10. No other output is generated.
> +code 10. If the state bit is unset (key depressed, switch off, ...), evtest
> +exits with code 0. No other output is generated.
>
> evtest needs to be able to read from the device; in most cases this means it
> must be run as root.
>
> commit 760a0c03923bcb2a0e0579eee36a28928c0916a9 (master~1)
> Author: Paul Fox <pgf at laptop.org>
> Date: Fri Aug 26 11:15:33 2011 -0400
>
> modify comments to match code (query lookups are case sensitive)
>
> diff --git a/evtest.c b/evtest.c
> index 022229e..ea03979 100644
> --- a/evtest.c
> +++ b/evtest.c
> @@ -89,8 +89,7 @@ static const struct query_mode {
> };
>
> /**
> - * Look up an entry in the query_modes table by its textual name. The search
> - * is case-insensitive.
> + * Look up an entry in the query_modes table by its textual name.
> *
> * @param mode The name of the entry to be found.
More information about the xorg-devel
mailing list