Message ID | 1263979096-30776-1-git-send-email-keng-yu.lin@canonical.com |
---|---|
State | Accepted |
Delegated to: | Stefan Bader |
Headers | show |
Keng-Yu Lin wrote: > From: Pascal Bach <pascal@nextrem.ch)> > > SRU Justification: > > Impact: > Some hotkeys do not produce key release events so not function well. > > Fix: > Add quirks in atkbd.c to force a key release. > (in 2.6.32, this can be done via /sys from userspace) > > Testcase: > The reportor reported this patch works well. > > - > From e846e9be96c925c3c491828b6fc7d59ab2abc6fe Mon Sep 17 00:00:00 2001 > From: Pascal Bach <pascal@nextrem.ch)> > Date: Thu, 22 Oct 2009 21:54:44 +0200 > Subject: [PATCH] UBUNTU: SAUCE: (drop after 2.6.31) input: Add hotkey quirk for Fujitsu Amilo 1848+u > > Volume keys do not produce release events. Add the quirk to force a key release. > > In 2.6.32, a /sys interface is provided to handle setting from userspace. > It is not necessary to apply this patch to newer version than 2.6.31. > > BugLink: http://bugs.launchpad.net/bugs/458503 > > Signed-off-by: Keng-Yu Lin <keng-yu.lin@canonical.com> > --- > drivers/input/keyboard/atkbd.c | 16 ++++++++++++++++ > 1 files changed, 16 insertions(+), 0 deletions(-) > > diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c > index 63f5c94..1189978 100644 > --- a/drivers/input/keyboard/atkbd.c > +++ b/drivers/input/keyboard/atkbd.c > @@ -910,6 +910,13 @@ static unsigned int atkbd_amilo_pi3525_forced_release_keys[] = { > }; > > /* > + * Amilo Si 1848 key release for Fn+Volume keys not working > + */ > +static unsigned int atkbd_amilo_si1848_forced_release_keys[] = { > + 0xa0, 0xae, 0xb0, -1U > +}; > + > +/* > * Amilo Xi 3650 key release for light touch bar not working > */ > static unsigned int atkbd_amilo_xi3650_forced_release_keys[] = { > @@ -1652,6 +1659,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { > .driver_data = atkbd_amilo_pa1510_forced_release_keys, > }, > { > + .ident = "Fujitsu Amilo Si 1848+u", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), > + DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Si 1848+u"), > + }, > + .callback = atkbd_setup_forced_release, > + .driver_data = atkbd_amilo_si1848_forced_release_keys, > + }, > + { > .ident = "Fujitsu Amilo Pi 3525", > .matches = { > DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), Acked-by: Tim Gardner <tim.gardner@canonical.com>
Looks reasonable. Keng-Yu Lin wrote: > From: Pascal Bach <pascal@nextrem.ch)> > > SRU Justification: > > Impact: > Some hotkeys do not produce key release events so not function well. > > Fix: > Add quirks in atkbd.c to force a key release. > (in 2.6.32, this can be done via /sys from userspace) > > Testcase: > The reportor reported this patch works well. > > - > From e846e9be96c925c3c491828b6fc7d59ab2abc6fe Mon Sep 17 00:00:00 2001 > From: Pascal Bach <pascal@nextrem.ch)> > Date: Thu, 22 Oct 2009 21:54:44 +0200 > Subject: [PATCH] UBUNTU: SAUCE: (drop after 2.6.31) input: Add hotkey quirk for Fujitsu Amilo 1848+u > > Volume keys do not produce release events. Add the quirk to force a key release. > > In 2.6.32, a /sys interface is provided to handle setting from userspace. > It is not necessary to apply this patch to newer version than 2.6.31. > > BugLink: http://bugs.launchpad.net/bugs/458503 > > Signed-off-by: Keng-Yu Lin <keng-yu.lin@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> > --- > drivers/input/keyboard/atkbd.c | 16 ++++++++++++++++ > 1 files changed, 16 insertions(+), 0 deletions(-) > > diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c > index 63f5c94..1189978 100644 > --- a/drivers/input/keyboard/atkbd.c > +++ b/drivers/input/keyboard/atkbd.c > @@ -910,6 +910,13 @@ static unsigned int atkbd_amilo_pi3525_forced_release_keys[] = { > }; > > /* > + * Amilo Si 1848 key release for Fn+Volume keys not working > + */ > +static unsigned int atkbd_amilo_si1848_forced_release_keys[] = { > + 0xa0, 0xae, 0xb0, -1U > +}; > + > +/* > * Amilo Xi 3650 key release for light touch bar not working > */ > static unsigned int atkbd_amilo_xi3650_forced_release_keys[] = { > @@ -1652,6 +1659,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { > .driver_data = atkbd_amilo_pa1510_forced_release_keys, > }, > { > + .ident = "Fujitsu Amilo Si 1848+u", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), > + DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Si 1848+u"), > + }, > + .callback = atkbd_setup_forced_release, > + .driver_data = atkbd_amilo_si1848_forced_release_keys, > + }, > + { > .ident = "Fujitsu Amilo Pi 3525", > .matches = { > DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
On Wed, 2010-01-20 at 17:18 +0800, Keng-Yu Lin wrote: > From: Pascal Bach <pascal@nextrem.ch)> > > SRU Justification: > > Impact: > Some hotkeys do not produce key release events so not function well. > > Fix: > Add quirks in atkbd.c to force a key release. > (in 2.6.32, this can be done via /sys from userspace) > > Testcase: > The reportor reported this patch works well. > > - > From e846e9be96c925c3c491828b6fc7d59ab2abc6fe Mon Sep 17 00:00:00 2001 > From: Pascal Bach <pascal@nextrem.ch)> > Date: Thu, 22 Oct 2009 21:54:44 +0200 > Subject: [PATCH] UBUNTU: SAUCE: (drop after 2.6.31) input: Add hotkey quirk for Fujitsu Amilo 1848+u > > Volume keys do not produce release events. Add the quirk to force a key release. > > In 2.6.32, a /sys interface is provided to handle setting from userspace. > It is not necessary to apply this patch to newer version than 2.6.31. > > BugLink: http://bugs.launchpad.net/bugs/458503 > > Signed-off-by: Keng-Yu Lin <keng-yu.lin@canonical.com> > --- > drivers/input/keyboard/atkbd.c | 16 ++++++++++++++++ > 1 files changed, 16 insertions(+), 0 deletions(-) > > diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c > index 63f5c94..1189978 100644 > --- a/drivers/input/keyboard/atkbd.c > +++ b/drivers/input/keyboard/atkbd.c > @@ -910,6 +910,13 @@ static unsigned int atkbd_amilo_pi3525_forced_release_keys[] = { > }; > > /* > + * Amilo Si 1848 key release for Fn+Volume keys not working > + */ > +static unsigned int atkbd_amilo_si1848_forced_release_keys[] = { > + 0xa0, 0xae, 0xb0, -1U > +}; > + > +/* > * Amilo Xi 3650 key release for light touch bar not working > */ > static unsigned int atkbd_amilo_xi3650_forced_release_keys[] = { > @@ -1652,6 +1659,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { > .driver_data = atkbd_amilo_pa1510_forced_release_keys, > }, > { > + .ident = "Fujitsu Amilo Si 1848+u", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), > + DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Si 1848+u"), > + }, > + .callback = atkbd_setup_forced_release, > + .driver_data = atkbd_amilo_si1848_forced_release_keys, > + }, > + { > .ident = "Fujitsu Amilo Pi 3525", > .matches = { > DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), > -- > 1.6.3.3 > > I'm happy with this. Looks sane Acked-by: Colin King <colin.king@canonical.com>
Applied to Karmic
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index 63f5c94..1189978 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c @@ -910,6 +910,13 @@ static unsigned int atkbd_amilo_pi3525_forced_release_keys[] = { }; /* + * Amilo Si 1848 key release for Fn+Volume keys not working + */ +static unsigned int atkbd_amilo_si1848_forced_release_keys[] = { + 0xa0, 0xae, 0xb0, -1U +}; + +/* * Amilo Xi 3650 key release for light touch bar not working */ static unsigned int atkbd_amilo_xi3650_forced_release_keys[] = { @@ -1652,6 +1659,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { .driver_data = atkbd_amilo_pa1510_forced_release_keys, }, { + .ident = "Fujitsu Amilo Si 1848+u", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), + DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Si 1848+u"), + }, + .callback = atkbd_setup_forced_release, + .driver_data = atkbd_amilo_si1848_forced_release_keys, + }, + { .ident = "Fujitsu Amilo Pi 3525", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),