[1/2] Input: Add keycodes for some missing Fn key combinations
diff mbox

Message ID 1400337817-14473-2-git-send-email-pali.rohar@gmail.com
State New, archived
Headers show

Commit Message

Pali Rohár May 17, 2014, 2:43 p.m. UTC
There are already defined some Fn key combinations, but not all.
This patch adds missing combinations for support in dell-wmi driver.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
---
 include/uapi/linux/input.h |    6 ++++++
 1 file changed, 6 insertions(+)

Comments

Dmitry Torokhov May 17, 2014, 8:30 p.m. UTC | #1
Hi Pali,

On Sat, May 17, 2014 at 04:43:36PM +0200, Pali Rohár wrote:
> There are already defined some Fn key combinations, but not all.
> This patch adds missing combinations for support in dell-wmi driver.
> 
> Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> ---
>  include/uapi/linux/input.h |    6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h
> index f484952..3a32799 100644
> --- a/include/uapi/linux/input.h
> +++ b/include/uapi/linux/input.h
> @@ -672,6 +672,12 @@ struct input_keymap_entry {
>  #define KEY_FN_F		0x1e2
>  #define KEY_FN_S		0x1e3
>  #define KEY_FN_B		0x1e4
> +#define KEY_FN_Q		0x1e5
> +#define KEY_FN_W		0x1e6
> +#define KEY_FN_R		0x1e7
> +#define KEY_FN_T		0x1e8
> +#define KEY_FN_A		0x1e9
> +#define KEY_FN_G		0x1ea

What do they actually do?

Thanks.
Pali Rohár May 17, 2014, 8:38 p.m. UTC | #2
On Saturday 17 May 2014 22:30:54 Dmitry Torokhov wrote:
> Hi Pali,
> 
> On Sat, May 17, 2014 at 04:43:36PM +0200, Pali Rohár wrote:
> > There are already defined some Fn key combinations, but not
> > all. This patch adds missing combinations for support in
> > dell-wmi driver.
> > 
> > Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> > ---
> > 
> >  include/uapi/linux/input.h |    6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/include/uapi/linux/input.h
> > b/include/uapi/linux/input.h index f484952..3a32799 100644
> > --- a/include/uapi/linux/input.h
> > +++ b/include/uapi/linux/input.h
> > @@ -672,6 +672,12 @@ struct input_keymap_entry {
> > 
> >  #define KEY_FN_F		0x1e2
> >  #define KEY_FN_S		0x1e3
> >  #define KEY_FN_B		0x1e4
> > 
> > +#define KEY_FN_Q		0x1e5
> > +#define KEY_FN_W		0x1e6
> > +#define KEY_FN_R		0x1e7
> > +#define KEY_FN_T		0x1e8
> > +#define KEY_FN_A		0x1e9
> > +#define KEY_FN_G		0x1ea
> 
> What do they actually do?
> 
> Thanks.

All 10 combinations Fn+Q ... Fn+T, Fn+A ... Fn+G are reported by 
WMI and I need to assign some keycodes for them in dell-wmi 
driver. And because More FN_* constants are already defined in 
input.h I added those which are missing.

With this patch series I'm able to use above Fn combinations for 
my own keyboard shortcuts. Before this patch all Fn combinations 
were one same keycode - which was useless.
Dmitry Torokhov May 17, 2014, 9:32 p.m. UTC | #3
On Sat, May 17, 2014 at 10:38:30PM +0200, Pali Rohár wrote:
> On Saturday 17 May 2014 22:30:54 Dmitry Torokhov wrote:
> > Hi Pali,
> > 
> > On Sat, May 17, 2014 at 04:43:36PM +0200, Pali Rohár wrote:
> > > There are already defined some Fn key combinations, but not
> > > all. This patch adds missing combinations for support in
> > > dell-wmi driver.
> > > 
> > > Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> > > ---
> > > 
> > >  include/uapi/linux/input.h |    6 ++++++
> > >  1 file changed, 6 insertions(+)
> > > 
> > > diff --git a/include/uapi/linux/input.h
> > > b/include/uapi/linux/input.h index f484952..3a32799 100644
> > > --- a/include/uapi/linux/input.h
> > > +++ b/include/uapi/linux/input.h
> > > @@ -672,6 +672,12 @@ struct input_keymap_entry {
> > > 
> > >  #define KEY_FN_F		0x1e2
> > >  #define KEY_FN_S		0x1e3
> > >  #define KEY_FN_B		0x1e4
> > > 
> > > +#define KEY_FN_Q		0x1e5
> > > +#define KEY_FN_W		0x1e6
> > > +#define KEY_FN_R		0x1e7
> > > +#define KEY_FN_T		0x1e8
> > > +#define KEY_FN_A		0x1e9
> > > +#define KEY_FN_G		0x1ea
> > 
> > What do they actually do?
> > 
> > Thanks.
> 
> All 10 combinations Fn+Q ... Fn+T, Fn+A ... Fn+G are reported by 
> WMI and I need to assign some keycodes for them in dell-wmi 
> driver. 

If they do not have a well-defined meaning then KEY_UNKNOWN is
appropriate and user later can redefine via EVIOCSKEYCODE to the code
they wish.

> And because More FN_* constants are already defined in 
> input.h I added those which are missing.

I am not sure if adding existing generic KEY_FN_* was a good idea.

> 
> With this patch series I'm able to use above Fn combinations for 
> my own keyboard shortcuts. Before this patch all Fn combinations 
> were one same keycode - which was useless.

Are there not enough key definitions already to accommodate actions you
want? dell-wmi supports changing keymap from usersopace so you should be
able to remap entries you want to the actions you need.

Thanks.

Patch
diff mbox

diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h
index f484952..3a32799 100644
--- a/include/uapi/linux/input.h
+++ b/include/uapi/linux/input.h
@@ -672,6 +672,12 @@  struct input_keymap_entry {
 #define KEY_FN_F		0x1e2
 #define KEY_FN_S		0x1e3
 #define KEY_FN_B		0x1e4
+#define KEY_FN_Q		0x1e5
+#define KEY_FN_W		0x1e6
+#define KEY_FN_R		0x1e7
+#define KEY_FN_T		0x1e8
+#define KEY_FN_A		0x1e9
+#define KEY_FN_G		0x1ea
 
 #define KEY_BRL_DOT1		0x1f1
 #define KEY_BRL_DOT2		0x1f2