Lines Matching +full:fn +full:- +full:keymap

1 // SPDX-License-Identifier: GPL-2.0-only
12 #include <linux/input/sparse-keymap.h>
25 /* How often we poll keys - msecs */
43 module_param_named(keymap, keymap_name, charp, 0);
44 MODULE_PARM_DESC(keymap, "Keymap name, if it can't be autodetected [generic, 1557/MS2141]");
70 : "=a" (regs->eax), "=b" (regs->ebx), "=c" (regs->ecx) in call_bios()
71 : "0" (regs->eax), "1" (regs->ebx), "2" (regs->ecx), in call_bios()
89 return -1; in locate_wistron_bios()
103 return -ENODEV; in map_bios()
136 return -ENOMEM; in map_bios()
223 static struct key_entry *keymap; /* = NULL; Current key map */ variable
232 keymap = dmi->driver_data; in dmi_matched()
233 for (key = keymap; key->type != KE_END; key++) { in dmi_matched()
234 if (key->type == KE_WIFI) in dmi_matched()
236 else if (key->type == KE_BLUETOOTH) in dmi_matched()
239 leds_present = key->code & (FE_MAIL_LED | FE_WIFI_LED); in dmi_matched()
259 { KE_KEY, 0x01, {KEY_HELP} }, /* Fn+F1 */
260 { KE_KEY, 0x06, {KEY_DISPLAYTOGGLE} }, /* Fn+F4 */
261 { KE_BLUETOOTH, 0x30 }, /* Fn+F10 */
269 { KE_KEY, 0x01, {KEY_HELP} }, /* Fn+F1 */
270 { KE_KEY, 0x06, {KEY_DISPLAYTOGGLE} }, /* Fn+F4 */
271 { KE_BLUETOOTH, 0x30 }, /* Fn+F10 */
637 /* Fujitsu-Siemens Amilo Pro V2000 */
646 /* Fujitsu-Siemens Amilo Pro Edition V3505 */
655 /* Fujitsu-Siemens Amilo Pro Edition V8210 */
664 /* Fujitsu-Siemens Amilo M7400 */
983 /* Copy the good keymap, as the original ones are free'd */
990 for (key = keymap; key->type != KE_END; key++) in copy_keymap()
993 new_keymap = kmemdup(keymap, length * sizeof(struct key_entry), in copy_keymap()
996 return -ENOMEM; in copy_keymap()
998 keymap = new_keymap; in copy_keymap()
1008 keymap = keymap_wistron_ms2141; in select_keymap()
1010 keymap = keymap_aopen_1557; in select_keymap()
1012 keymap = keymap_prestigio; in select_keymap()
1014 keymap = keymap_wistron_generic; in select_keymap()
1016 printk(KERN_ERR "wistron_btns: Keymap unknown\n"); in select_keymap()
1017 return -EINVAL; in select_keymap()
1020 if (keymap == NULL) { in select_keymap()
1023 return -ENODEV; in select_keymap()
1025 keymap = keymap_empty; in select_keymap()
1120 switch (key->type) { in handle_key()
1183 switch (entry->type) { in wistron_setup_keymap()
1188 entry->type = KE_KEY; in wistron_setup_keymap()
1189 entry->keycode = KEY_WLAN; in wistron_setup_keymap()
1195 entry->type = KE_KEY; in wistron_setup_keymap()
1196 entry->keycode = KEY_BLUETOOTH; in wistron_setup_keymap()
1201 if (entry->code & FE_UNTESTED) in wistron_setup_keymap()
1204 "eric.piel@tremplin-utc.net\n"); in wistron_setup_keymap()
1217 return -ENOMEM; in setup_input_dev()
1219 wistron_idev->name = "Wistron laptop buttons"; in setup_input_dev()
1220 wistron_idev->phys = "wistron/input0"; in setup_input_dev()
1221 wistron_idev->id.bustype = BUS_HOST; in setup_input_dev()
1222 wistron_idev->dev.parent = &wistron_device->dev; in setup_input_dev()
1224 wistron_idev->open = wistron_flush; in setup_input_dev()
1226 error = sparse_keymap_setup(wistron_idev, keymap, wistron_setup_keymap); in setup_input_dev()
1278 wistron_led_init(&dev->dev); in wistron_probe()
1337 .name = "wistron-bios",
1362 wistron_device = platform_device_alloc("wistron-bios", -1); in wb_module_init()
1364 err = -ENOMEM; in wb_module_init()
1381 kfree(keymap); in wb_module_init()
1391 kfree(keymap); in wb_module_exit()