* [PATCH 1/2] input: Add KEY_RFKILL
@ 2009-09-10 17:21 Matthew Garrett
[not found] ` <1252603292-20830-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-11 5:13 ` Dmitry Torokhov
0 siblings, 2 replies; 9+ messages in thread
From: Matthew Garrett @ 2009-09-10 17:21 UTC (permalink / raw)
To: linux-input-u79uwXL29TY76Z2rM5mHXA
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
marcel-kz+m5ild9QBg9hUCZPvPmw, Matthew Garrett
Most laptops have keys that are intended to toggle all device state, not
just wifi. These are currently generally mapped to KEY_WLAN. As a result,
rfkill will only kill or enable wifi in response to the key press. This
confuses users and can make it difficult for them to enable bluetooth
and wwan devices.
This patch adds a new keycode, KEY_RFKILL_ALL. It indicates that the
system should toggle the state of all rfkillable devices.
Signed-off-by: Matthew Garrett <mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
include/linux/input.h | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/include/linux/input.h b/include/linux/input.h
index 8b3bc3e..20a622e 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -595,6 +595,8 @@ struct input_absinfo {
#define KEY_NUMERIC_STAR 0x20a
#define KEY_NUMERIC_POUND 0x20b
+#define KEY_RFKILL 0x20c /* Key that controls all radios */
+
/* We avoid low common keys in module aliases so they don't get huge. */
#define KEY_MIN_INTERESTING KEY_MUTE
#define KEY_MAX 0x2ff
--
1.6.2.5
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 9+ messages in thread
[parent not found: <1252603292-20830-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* [PATCH 2/2] rfkill: Add support for KEY_RFKILL
[not found] ` <1252603292-20830-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2009-09-10 17:21 ` Matthew Garrett
2009-11-13 5:33 ` Marcel Holtmann
2009-09-10 17:27 ` [PATCH 1/2] input: Add KEY_RFKILL Luis R. Rodriguez
1 sibling, 1 reply; 9+ messages in thread
From: Matthew Garrett @ 2009-09-10 17:21 UTC (permalink / raw)
To: linux-input-u79uwXL29TY76Z2rM5mHXA
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
marcel-kz+m5ild9QBg9hUCZPvPmw, Matthew Garrett
Add support for handling KEY_RFKILL in the rfkill input module. This
simply toggles the state of all rfkill devices. The comment in rfkill.h
is also updated to reflect that RFKILL_TYPE_ALL may be used inside the
kernel.
Signed-off-by: Matthew Garrett <mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
include/linux/rfkill.h | 2 +-
net/rfkill/input.c | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/include/linux/rfkill.h b/include/linux/rfkill.h
index 278777f..4c39f7e 100644
--- a/include/linux/rfkill.h
+++ b/include/linux/rfkill.h
@@ -32,7 +32,7 @@
/**
* enum rfkill_type - type of rfkill switch.
*
- * @RFKILL_TYPE_ALL: toggles all switches (userspace only)
+ * @RFKILL_TYPE_ALL: toggles all switches (requests only - not a switch type)
* @RFKILL_TYPE_WLAN: switch is on a 802.11 wireless network device.
* @RFKILL_TYPE_BLUETOOTH: switch is on a bluetooth device.
* @RFKILL_TYPE_UWB: switch is on a ultra wideband device.
diff --git a/net/rfkill/input.c b/net/rfkill/input.c
index a7295ad..3713d7e 100644
--- a/net/rfkill/input.c
+++ b/net/rfkill/input.c
@@ -212,6 +212,9 @@ static void rfkill_event(struct input_handle *handle, unsigned int type,
case KEY_WIMAX:
rfkill_schedule_toggle(RFKILL_TYPE_WIMAX);
break;
+ case KEY_RFKILL:
+ rfkill_schedule_toggle(RFKILL_TYPE_ALL);
+ break;
}
} else if (type == EV_SW && code == SW_RFKILL_ALL)
rfkill_schedule_evsw_rfkillall(data);
@@ -295,6 +298,11 @@ static const struct input_device_id rfkill_ids[] = {
.keybit = { [BIT_WORD(KEY_WIMAX)] = BIT_MASK(KEY_WIMAX) },
},
{
+ .flags = INPUT_DEVICE_ID_MATCH_EVBIT | INPUT_DEVICE_ID_MATCH_KEYBIT,
+ .evbit = { BIT_MASK(EV_KEY) },
+ .keybit = { [BIT_WORD(KEY_RFKILL)] = BIT_MASK(KEY_RFKILL) },
+ },
+ {
.flags = INPUT_DEVICE_ID_MATCH_EVBIT | INPUT_DEVICE_ID_MATCH_SWBIT,
.evbit = { BIT(EV_SW) },
.swbit = { [BIT_WORD(SW_RFKILL_ALL)] = BIT_MASK(SW_RFKILL_ALL) },
--
1.6.2.5
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] input: Add KEY_RFKILL
[not found] ` <1252603292-20830-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-10 17:21 ` [PATCH 2/2] rfkill: Add support for KEY_RFKILL Matthew Garrett
@ 2009-09-10 17:27 ` Luis R. Rodriguez
[not found] ` <43e72e890909101027saf1ed35u23936729eccf3f92-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
1 sibling, 1 reply; 9+ messages in thread
From: Luis R. Rodriguez @ 2009-09-10 17:27 UTC (permalink / raw)
To: Matthew Garrett
Cc: linux-input-u79uwXL29TY76Z2rM5mHXA,
linux-wireless-u79uwXL29TY76Z2rM5mHXA,
marcel-kz+m5ild9QBg9hUCZPvPmw
On Thu, Sep 10, 2009 at 10:21 AM, Matthew Garrett <mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
> This patch adds a new keycode, KEY_RFKILL_ALL.
> include/linux/input.h | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
> +#define KEY_RFKILL 0x20c /* Key that controls all radios */
But this above is KEY_RFKILL, not KEY_RKILL_ALL. Typo?
Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] input: Add KEY_RFKILL
2009-09-10 17:21 [PATCH 1/2] input: Add KEY_RFKILL Matthew Garrett
[not found] ` <1252603292-20830-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2009-09-11 5:13 ` Dmitry Torokhov
[not found] ` <20090911051259.GC23210-WlK9ik9hQGAhIp7JRqBPierSzoNAToWh@public.gmane.org>
1 sibling, 1 reply; 9+ messages in thread
From: Dmitry Torokhov @ 2009-09-11 5:13 UTC (permalink / raw)
To: Matthew Garrett; +Cc: linux-input, linux-wireless, marcel
On Thu, Sep 10, 2009 at 06:21:31PM +0100, Matthew Garrett wrote:
> Most laptops have keys that are intended to toggle all device state, not
> just wifi. These are currently generally mapped to KEY_WLAN. As a result,
> rfkill will only kill or enable wifi in response to the key press. This
> confuses users and can make it difficult for them to enable bluetooth
> and wwan devices.
>
> This patch adds a new keycode, KEY_RFKILL_ALL. It indicates that the
The new name in description does not match the code...
> system should toggle the state of all rfkillable devices.
Hmm, rfkill changes usually go through net tree so unless they want me
to push it though I'll just ACK the new keycode.
>
> Signed-off-by: Matthew Garrett <mjg@redhat.com>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
> ---
> include/linux/input.h | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/input.h b/include/linux/input.h
> index 8b3bc3e..20a622e 100644
> --- a/include/linux/input.h
> +++ b/include/linux/input.h
> @@ -595,6 +595,8 @@ struct input_absinfo {
> #define KEY_NUMERIC_STAR 0x20a
> #define KEY_NUMERIC_POUND 0x20b
>
> +#define KEY_RFKILL 0x20c /* Key that controls all radios */
> +
> /* We avoid low common keys in module aliases so they don't get huge. */
> #define KEY_MIN_INTERESTING KEY_MUTE
> #define KEY_MAX 0x2ff
--
Dmitry
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] input: Add KEY_RFKILL
@ 2010-02-16 21:36 Matthew Garrett
[not found] ` <1266356185-10324-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Matthew Garrett @ 2010-02-16 21:36 UTC (permalink / raw)
To: johannes
Cc: linux-wireless, linux-input, dmitry.torokhov, marcel,
Matthew Garrett
Most laptops have keys that are intended to toggle all device state, not
just wifi. These are currently generally mapped to KEY_WLAN. As a result,
rfkill will only kill or enable wifi in response to the key press. This
confuses users and can make it difficult for them to enable bluetooth
and wwan devices.
This patch adds a new keycode, KEY_RFKILL. It indicates that the system
should toggle the state of all rfkillable devices.
Signed-off-by: Matthew Garrett <mjg@redhat.com>
---
include/linux/input.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/include/linux/input.h b/include/linux/input.h
index 735ceaf..3294a89 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -594,7 +594,7 @@ struct input_absinfo {
#define KEY_NUMERIC_9 0x209
#define KEY_NUMERIC_STAR 0x20a
#define KEY_NUMERIC_POUND 0x20b
-
+#define KEY_RFKILL 0x20c /* Key that controls all radios */
#define KEY_CAMERA_FOCUS 0x210
/* We avoid low common keys in module aliases so they don't get huge. */
--
1.6.6.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-02-16 23:06 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-10 17:21 [PATCH 1/2] input: Add KEY_RFKILL Matthew Garrett
[not found] ` <1252603292-20830-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-10 17:21 ` [PATCH 2/2] rfkill: Add support for KEY_RFKILL Matthew Garrett
2009-11-13 5:33 ` Marcel Holtmann
2009-09-10 17:27 ` [PATCH 1/2] input: Add KEY_RFKILL Luis R. Rodriguez
[not found] ` <43e72e890909101027saf1ed35u23936729eccf3f92-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-09-10 17:31 ` Matthew Garrett
2009-09-11 5:13 ` Dmitry Torokhov
[not found] ` <20090911051259.GC23210-WlK9ik9hQGAhIp7JRqBPierSzoNAToWh@public.gmane.org>
2009-11-13 5:34 ` Marcel Holtmann
-- strict thread matches above, loose matches on Subject: below --
2010-02-16 21:36 Matthew Garrett
[not found] ` <1266356185-10324-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-16 21:36 ` [PATCH 2/2] rfkill: Add support for KEY_RFKILL Matthew Garrett
2010-02-16 23:04 ` Marcel Holtmann
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).