All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
To: Alistair Francis <alistair@alistair23.me>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	dl-linux-imx <linux-imx@nxp.com>, Jiri Kosina <jikos@kernel.org>,
	"open list:HID CORE LAYER" <linux-input@vger.kernel.org>,
	DTML <devicetree@vger.kernel.org>,
	lkml <linux-kernel@vger.kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Alistair Francis <alistair23@gmail.com>
Subject: Re: [PATCH v12 1/3] HID: quirks: Allow inverting the absolute X/Y values
Date: Thu, 21 Oct 2021 11:58:21 +0200	[thread overview]
Message-ID: <CAO-hwJKXQsEU-i41EB5LyB3cSrFG9y+6WsQ8XuryL5AniCrM_Q@mail.gmail.com> (raw)
In-Reply-To: <20211021095107.116292-1-alistair@alistair23.me>

On Thu, Oct 21, 2021 at 11:51 AM Alistair Francis
<alistair@alistair23.me> wrote:
>
> Add a HID_QUIRK_XY_INVERT quirk that can be used to invert the X/Y
> values.
>
> Signed-off-by: Alistair Francis <alistair@alistair23.me>
> ---
>  drivers/hid/hid-input.c | 7 +++++++
>  include/linux/hid.h     | 1 +
>  2 files changed, 8 insertions(+)
>
> diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
> index 4b5ebeacd283..0a9634473940 100644
> --- a/drivers/hid/hid-input.c
> +++ b/drivers/hid/hid-input.c
> @@ -1328,6 +1328,13 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
>
>         input = field->hidinput->input;
>
> +       if (*quirks & HID_QUIRK_XY_INVERT) {
> +               if (usage->type == EV_ABS &&
> +                       (usage->code == ABS_X || usage->code == ABS_Y)) {

I think I would prefer to have one quirk per axis if we go this route.

Cheers,
Benjamin

> +                       value = field->logical_maximum - value;
> +               }
> +       }
> +
>         if (usage->hat_min < usage->hat_max || usage->hat_dir) {
>                 int hat_dir = usage->hat_dir;
>                 if (!hat_dir)
> diff --git a/include/linux/hid.h b/include/linux/hid.h
> index 9e067f937dbc..a6e91ee5b3de 100644
> --- a/include/linux/hid.h
> +++ b/include/linux/hid.h
> @@ -349,6 +349,7 @@ struct hid_item {
>  /* BIT(9) reserved for backward compatibility, was NO_INIT_INPUT_REPORTS */
>  #define HID_QUIRK_ALWAYS_POLL                  BIT(10)
>  #define HID_QUIRK_INPUT_PER_APP                        BIT(11)
> +#define HID_QUIRK_XY_INVERT                    BIT(12)
>  #define HID_QUIRK_SKIP_OUTPUT_REPORTS          BIT(16)
>  #define HID_QUIRK_SKIP_OUTPUT_REPORT_ID                BIT(17)
>  #define HID_QUIRK_NO_OUTPUT_REPORTS_ON_INTR_EP BIT(18)
> --
> 2.31.1
>


WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
To: Alistair Francis <alistair@alistair23.me>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Shawn Guo <shawnguo@kernel.org>,
	 Sascha Hauer <s.hauer@pengutronix.de>,
	dl-linux-imx <linux-imx@nxp.com>,  Jiri Kosina <jikos@kernel.org>,
	"open list:HID CORE LAYER" <linux-input@vger.kernel.org>,
	 DTML <devicetree@vger.kernel.org>,
	lkml <linux-kernel@vger.kernel.org>,
	 Linux ARM <linux-arm-kernel@lists.infradead.org>,
	 Alistair Francis <alistair23@gmail.com>
Subject: Re: [PATCH v12 1/3] HID: quirks: Allow inverting the absolute X/Y values
Date: Thu, 21 Oct 2021 11:58:21 +0200	[thread overview]
Message-ID: <CAO-hwJKXQsEU-i41EB5LyB3cSrFG9y+6WsQ8XuryL5AniCrM_Q@mail.gmail.com> (raw)
In-Reply-To: <20211021095107.116292-1-alistair@alistair23.me>

On Thu, Oct 21, 2021 at 11:51 AM Alistair Francis
<alistair@alistair23.me> wrote:
>
> Add a HID_QUIRK_XY_INVERT quirk that can be used to invert the X/Y
> values.
>
> Signed-off-by: Alistair Francis <alistair@alistair23.me>
> ---
>  drivers/hid/hid-input.c | 7 +++++++
>  include/linux/hid.h     | 1 +
>  2 files changed, 8 insertions(+)
>
> diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
> index 4b5ebeacd283..0a9634473940 100644
> --- a/drivers/hid/hid-input.c
> +++ b/drivers/hid/hid-input.c
> @@ -1328,6 +1328,13 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
>
>         input = field->hidinput->input;
>
> +       if (*quirks & HID_QUIRK_XY_INVERT) {
> +               if (usage->type == EV_ABS &&
> +                       (usage->code == ABS_X || usage->code == ABS_Y)) {

I think I would prefer to have one quirk per axis if we go this route.

Cheers,
Benjamin

> +                       value = field->logical_maximum - value;
> +               }
> +       }
> +
>         if (usage->hat_min < usage->hat_max || usage->hat_dir) {
>                 int hat_dir = usage->hat_dir;
>                 if (!hat_dir)
> diff --git a/include/linux/hid.h b/include/linux/hid.h
> index 9e067f937dbc..a6e91ee5b3de 100644
> --- a/include/linux/hid.h
> +++ b/include/linux/hid.h
> @@ -349,6 +349,7 @@ struct hid_item {
>  /* BIT(9) reserved for backward compatibility, was NO_INIT_INPUT_REPORTS */
>  #define HID_QUIRK_ALWAYS_POLL                  BIT(10)
>  #define HID_QUIRK_INPUT_PER_APP                        BIT(11)
> +#define HID_QUIRK_XY_INVERT                    BIT(12)
>  #define HID_QUIRK_SKIP_OUTPUT_REPORTS          BIT(16)
>  #define HID_QUIRK_SKIP_OUTPUT_REPORT_ID                BIT(17)
>  #define HID_QUIRK_NO_OUTPUT_REPORTS_ON_INTR_EP BIT(18)
> --
> 2.31.1
>


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-10-21  9:58 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-21  9:51 [PATCH v12 1/3] HID: quirks: Allow inverting the absolute X/Y values Alistair Francis
2021-10-21  9:51 ` Alistair Francis
2021-10-21  9:51 ` [PATCH v12 2/3] HID: quirks: Invert X/Y values for rM2 Wacom Alistair Francis
2021-10-21  9:51   ` Alistair Francis
2021-10-21 10:05   ` Benjamin Tissoires
2021-10-21 10:05     ` Benjamin Tissoires
2021-10-21  9:51 ` [PATCH v12 3/3] ARM: dts: imx7d: remarkable2: add wacom digitizer device Alistair Francis
2021-10-21  9:51   ` Alistair Francis
2021-10-21  9:58 ` Benjamin Tissoires [this message]
2021-10-21  9:58   ` [PATCH v12 1/3] HID: quirks: Allow inverting the absolute X/Y values Benjamin Tissoires

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAO-hwJKXQsEU-i41EB5LyB3cSrFG9y+6WsQ8XuryL5AniCrM_Q@mail.gmail.com \
    --to=benjamin.tissoires@redhat.com \
    --cc=alistair23@gmail.com \
    --cc=alistair@alistair23.me \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jikos@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.