Lines Matching +full:fn +full:- +full:keymap
18 * 59 Temple Place Suite 330, Boston, MA 02111-1307, USA.
23 #include <linux/input-polldev.h>
24 #include <linux/input/sparse-keymap.h>
37 /* How often we poll keys - msecs */
55 module_param_named(keymap, keymap_name, charp, 0);
56 MODULE_PARM_DESC(keymap, "Keymap name, if it can't be autodetected [generic, 1557/MS2141]");
82 : "=a" (regs->eax), "=b" (regs->ebx), "=c" (regs->ecx) in call_bios()
83 : "0" (regs->eax), "1" (regs->ebx), "2" (regs->ecx), in call_bios()
101 return -1; in locate_wistron_bios()
115 return -ENODEV; in map_bios()
148 return -ENOMEM; in map_bios()
235 static struct key_entry *keymap; /* = NULL; Current key map */ variable
244 keymap = dmi->driver_data; in dmi_matched()
245 for (key = keymap; key->type != KE_END; key++) { in dmi_matched()
246 if (key->type == KE_WIFI) in dmi_matched()
248 else if (key->type == KE_BLUETOOTH) in dmi_matched()
251 leds_present = key->code & (FE_MAIL_LED | FE_WIFI_LED); in dmi_matched()
271 { KE_KEY, 0x01, {KEY_HELP} }, /* Fn+F1 */
272 { KE_KEY, 0x06, {KEY_DISPLAYTOGGLE} }, /* Fn+F4 */
273 { KE_BLUETOOTH, 0x30 }, /* Fn+F10 */
281 { KE_KEY, 0x01, {KEY_HELP} }, /* Fn+F1 */
282 { KE_KEY, 0x06, {KEY_DISPLAYTOGGLE} }, /* Fn+F4 */
283 { KE_BLUETOOTH, 0x30 }, /* Fn+F10 */
649 /* Fujitsu-Siemens Amilo Pro V2000 */
658 /* Fujitsu-Siemens Amilo Pro Edition V3505 */
667 /* Fujitsu-Siemens Amilo Pro Edition V8210 */
676 /* Fujitsu-Siemens Amilo M7400 */
995 /* Copy the good keymap, as the original ones are free'd */
1002 for (key = keymap; key->type != KE_END; key++) in copy_keymap()
1005 new_keymap = kmemdup(keymap, length * sizeof(struct key_entry), in copy_keymap()
1008 return -ENOMEM; in copy_keymap()
1010 keymap = new_keymap; in copy_keymap()
1020 keymap = keymap_wistron_ms2141; in select_keymap()
1022 keymap = keymap_aopen_1557; in select_keymap()
1024 keymap = keymap_prestigio; in select_keymap()
1026 keymap = keymap_wistron_generic; in select_keymap()
1028 printk(KERN_ERR "wistron_btns: Keymap unknown\n"); in select_keymap()
1029 return -EINVAL; in select_keymap()
1032 if (keymap == NULL) { in select_keymap()
1035 return -ENODEV; in select_keymap()
1037 keymap = keymap_empty; in select_keymap()
1129 sparse_keymap_entry_from_scancode(wistron_idev->input, code); in handle_key()
1132 switch (key->type) { in handle_key()
1148 sparse_keymap_report_entry(wistron_idev->input, in handle_key()
1185 dev->poll_interval = POLL_INTERVAL_BURST; in wistron_poll()
1187 dev->poll_interval = POLL_INTERVAL_DEFAULT; in wistron_poll()
1193 switch (entry->type) { in wistron_setup_keymap()
1198 entry->type = KE_KEY; in wistron_setup_keymap()
1199 entry->keycode = KEY_WLAN; in wistron_setup_keymap()
1205 entry->type = KE_KEY; in wistron_setup_keymap()
1206 entry->keycode = KEY_BLUETOOTH; in wistron_setup_keymap()
1211 if (entry->code & FE_UNTESTED) in wistron_setup_keymap()
1214 "eric.piel@tremplin-utc.net\n"); in wistron_setup_keymap()
1228 return -ENOMEM; in setup_input_dev()
1230 wistron_idev->open = wistron_flush; in setup_input_dev()
1231 wistron_idev->poll = wistron_poll; in setup_input_dev()
1232 wistron_idev->poll_interval = POLL_INTERVAL_DEFAULT; in setup_input_dev()
1234 input_dev = wistron_idev->input; in setup_input_dev()
1235 input_dev->name = "Wistron laptop buttons"; in setup_input_dev()
1236 input_dev->phys = "wistron/input0"; in setup_input_dev()
1237 input_dev->id.bustype = BUS_HOST; in setup_input_dev()
1238 input_dev->dev.parent = &wistron_device->dev; in setup_input_dev()
1240 error = sparse_keymap_setup(input_dev, keymap, wistron_setup_keymap); in setup_input_dev()
1286 wistron_led_init(&dev->dev); in wistron_probe()
1346 .name = "wistron-bios",
1371 wistron_device = platform_device_alloc("wistron-bios", -1); in wb_module_init()
1373 err = -ENOMEM; in wb_module_init()
1390 kfree(keymap); in wb_module_init()
1400 kfree(keymap); in wb_module_exit()