lkml.org 
[lkml]   [2009]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 17/33] Input: atkbd - Samsung NC10 key repeat fix
    2.6.28-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Stuart Hopkins <stuart@dodgy-geeza.com>

    commit 4200844bd9dc511088258437d564a187f0ffc94e upstream.

    This patch fixes the key repeat issue with the Fn+F? keys on the new
    Samsung NC10 Netbook, so that the keys can be defined and used within
    ACPID correctly, otherwise the keys repeat indefinately.

    This solves part of http://bugzilla.kernel.org/show_bug.cgi?id=12021

    Signed-off-by: Stuart Hopkins <stuart@dodgy-geeza.com>
    Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
    Cc: Chuck Ebbert <cebbert@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/input/keyboard/atkbd.c | 25 +++++++++++++++++++++++++
    1 file changed, 25 insertions(+)

    --- a/drivers/input/keyboard/atkbd.c
    +++ b/drivers/input/keyboard/atkbd.c
    @@ -884,6 +884,22 @@ static void atkbd_inventec_keymap_fixup(
    }

    /*
    + * Samsung NC10 with Fn+F? key release not working
    + */
    +static void atkbd_samsung_keymap_fixup(struct atkbd *atkbd)
    +{
    + const unsigned int forced_release_keys[] = {
    + 0x82, 0x83, 0x84, 0x86, 0x88, 0x89, 0xb3, 0xf7, 0xf9,
    + };
    + int i;
    +
    + if (atkbd->set == 2)
    + for (i = 0; i < ARRAY_SIZE(forced_release_keys); i++)
    + __set_bit(forced_release_keys[i],
    + atkbd->force_release_mask);
    +}
    +
    +/*
    * atkbd_set_keycode_table() initializes keyboard's keycode table
    * according to the selected scancode set
    */
    @@ -1493,6 +1509,15 @@ static struct dmi_system_id atkbd_dmi_qu
    .callback = atkbd_setup_fixup,
    .driver_data = atkbd_inventec_keymap_fixup,
    },
    + {
    + .ident = "Samsung NC10",
    + .matches = {
    + DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
    + DMI_MATCH(DMI_PRODUCT_NAME, "NC10"),
    + },
    + .callback = atkbd_setup_fixup,
    + .driver_data = atkbd_samsung_keymap_fixup,
    + },
    { }
    };



    \
     
     \ /
      Last update: 2009-02-04 19:47    [W:0.022 / U:31.760 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site