Lines 884-889
static void atkbd_inventec_keymap_fixup(
Link Here
|
884 |
} |
884 |
} |
885 |
|
885 |
|
886 |
/* |
886 |
/* |
|
|
887 |
* Samsung NC10 with Fn+F? key release not working |
888 |
*/ |
889 |
static void atkbd_samsung_keymap_fixup(struct atkbd *atkbd) |
890 |
{ |
891 |
const unsigned int forced_release_keys[] = { |
892 |
0x82, 0x83, 0x84, 0x86, 0xb1, 0xb3, 0xf9, |
893 |
}; |
894 |
int i; |
895 |
if (atkbd->set == 2) |
896 |
for (i = 0; i < ARRAY_SIZE(forced_release_keys); i++) |
897 |
__set_bit(forced_release_keys[i], |
898 |
atkbd->force_release_mask); |
899 |
} |
900 |
|
901 |
/* |
887 |
* atkbd_set_keycode_table() initializes keyboard's keycode table |
902 |
* atkbd_set_keycode_table() initializes keyboard's keycode table |
888 |
* according to the selected scancode set |
903 |
* according to the selected scancode set |
889 |
*/ |
904 |
*/ |
Lines 1493-1498
static struct dmi_system_id atkbd_dmi_qu
Link Here
|
1493 |
.callback = atkbd_setup_fixup, |
1508 |
.callback = atkbd_setup_fixup, |
1494 |
.driver_data = atkbd_inventec_keymap_fixup, |
1509 |
.driver_data = atkbd_inventec_keymap_fixup, |
1495 |
}, |
1510 |
}, |
|
|
1511 |
{ |
1512 |
.ident = "Samsung NC10", |
1513 |
.matches = { |
1514 |
DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."), |
1515 |
DMI_MATCH(DMI_PRODUCT_NAME, "NC10"), |
1516 |
}, |
1517 |
.callback = atkbd_setup_fixup, |
1518 |
.driver_data = atkbd_samsung_keymap_fixup, |
1519 |
}, |
1496 |
{ } |
1520 |
{ } |
1497 |
}; |
1521 |
}; |
1498 |
|
1522 |
|