From: Stefan Achatz <erazor_de@users.sourceforge.net>
To: Jiri Kosina <jkosina@suse.cz>, Stephane Chatty <chatty@enac.fr>,
wylda@volny.cz, Jussi Kivilinna <jussi.kivilinna@mbnet.fi>,
Tejun Heo <tj@kernel.org>,
linux-input@vger.kernel.org, Je
Subject: [PATCH 4/5] HID: refactored special event handling in Roccat Kone
Date: Tue, 18 May 2010 18:31:04 +0200 [thread overview]
Message-ID: <1274200264.2243.4.camel@localhost> (raw)
>From e550163af2c39c4e7490cd5bf02e44c5dec72d2b Mon Sep 17 00:00:00 2001
From: Stefan Achatz <erazor_de@users.sourceforge.net>
Date: Sat, 8 May 2010 17:30:27 +0200
Subject: [PATCH 4/5] HID: refactored special event handling in Roccat Kone
As special events are reported along with hid event information all
events are now processed further by standard handler.
Also cleaned up this code.
Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
---
drivers/hid/hid-roccat-kone.c | 54 +++++++++++++++-------------------------
1 files changed, 20 insertions(+), 34 deletions(-)
diff --git a/drivers/hid/hid-roccat-kone.c b/drivers/hid/hid-roccat-kone.c
index 0b1db24..66e6940 100644
--- a/drivers/hid/hid-roccat-kone.c
+++ b/drivers/hid/hid-roccat-kone.c
@@ -912,6 +912,24 @@ static void kone_remove(struct hid_device *hdev)
hid_hw_stop(hdev);
}
+/* handle special events and keep actual profile and dpi values up to date */
+static void kone_keep_values_up_to_date(struct kone_device *kone,
+ struct kone_mouse_event const *event)
+{
+ switch (event->event) {
+ case kone_mouse_event_switch_profile:
+ case kone_mouse_event_osd_profile:
+ kone->actual_profile = event->value;
+ kone->actual_dpi = kone->profiles[kone->actual_profile - 1].
+ startup_dpi;
+ break;
+ case kone_mouse_event_switch_dpi:
+ case kone_mouse_event_osd_dpi:
+ kone->actual_dpi = event->value;
+ break;
+ }
+}
+
/*
* Is called for keyboard- and mousepart.
* Only mousepart gets informations about special events in its extended event
@@ -938,41 +956,9 @@ static int kone_raw_event(struct hid_device *hdev, struct hid_report *report,
else
memset(&event->tilt, 0, 5);
- /*
- * handle special events and keep actual profile and dpi values
- * up to date
- */
- switch (event->event) {
- case kone_mouse_event_osd_dpi:
- dev_dbg(&hdev->dev, "osd dpi event. actual dpi %d\n",
- event->value);
- return 1; /* return 1 if event was handled */
- case kone_mouse_event_switch_dpi:
- kone->actual_dpi = event->value;
- dev_dbg(&hdev->dev, "switched dpi to %d\n", event->value);
- return 1;
- case kone_mouse_event_osd_profile:
- dev_dbg(&hdev->dev, "osd profile event. actual profile %d\n",
- event->value);
- return 1;
- case kone_mouse_event_switch_profile:
- kone->actual_profile = event->value;
- kone->actual_dpi = kone->profiles[kone->actual_profile - 1].
- startup_dpi;
- dev_dbg(&hdev->dev, "switched profile to %d\n", event->value);
- return 1;
- case kone_mouse_event_call_overlong_macro:
- dev_dbg(&hdev->dev, "overlong macro called, button %d %s/%s\n",
- event->macro_key,
- kone->profiles[kone->actual_profile - 1].
- button_infos[event->macro_key].macro_set_name,
- kone->profiles[kone->actual_profile - 1].
- button_infos[event->macro_key].macro_name
- );
- return 1;
- }
+ kone_keep_values_up_to_date(kone, event);
- return 0; /* do further processing */
+ return 0; /* always do further processing */
}
static const struct hid_device_id kone_devices[] = {
--
1.6.6.1
next reply other threads:[~2010-05-18 16:31 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-18 16:31 Stefan Achatz [this message]
2010-05-19 11:56 ` [PATCH 4/5] HID: refactored special event handling in Roccat Kone Jiri Kosina
[not found] <1273679086.2927.7.camel@localhost>
2010-05-18 12:04 ` Jiri Kosina
-- strict thread matches above, loose matches on Subject: below --
2010-05-12 15:44 Stefan Achatz
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=1274200264.2243.4.camel@localhost \
--to=erazor_de@users.sourceforge.net \
--cc=chatty@enac.fr \
--cc=jkosina@suse.cz \
--cc=jussi.kivilinna@mbnet.fi \
--cc=linux-input@vger.kernel.org \
--cc=tj@kernel.org \
--cc=wylda@volny.cz \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).