Lines Matching +full:0 +full:x0011
74 * Keymap for WMI events of type 0x0000
81 { KE_IGNORE, 0x003a, { KEY_CAPSLOCK } },
84 { KE_KEY, 0xe005, { KEY_BRIGHTNESSDOWN } },
85 { KE_KEY, 0xe006, { KEY_BRIGHTNESSUP } },
88 { KE_KEY, 0xe007, { KEY_BATTERY } },
91 { KE_IGNORE, 0xe008, { KEY_RFKILL } },
93 { KE_KEY, 0xe009, { KEY_EJECTCD } },
96 { KE_KEY, 0xe00b, { KEY_SWITCHVIDEOMODE } },
99 { KE_IGNORE, 0xe00c, { KEY_KBDILLUMTOGGLE } },
102 { KE_IGNORE, 0xe00d, { KEY_RESERVED } },
105 { KE_IGNORE, 0xe00e, { KEY_RESERVED } },
108 { KE_KEY, 0xe011, { KEY_WLAN } },
111 { KE_IGNORE, 0xe013, { KEY_RESERVED } },
113 { KE_IGNORE, 0xe020, { KEY_MUTE } },
116 /* { KE_IGNORE, 0xe023, { KEY_RESERVED } }, */
119 /* { KE_IGNORE, 0xe024, { KEY_RESERVED } }, */
122 { KE_KEY, 0xe025, { KEY_PROG4 } },
125 { KE_IGNORE, 0xe026, { KEY_RESERVED } },
128 { KE_KEY, 0xe027, { KEY_DISPLAYTOGGLE } },
131 /* { KE_IGNORE, 0xe028, { KEY_RESERVED } }, */
134 { KE_KEY, 0xe029, { KEY_PROG4 } },
137 /* { KE_IGNORE, 0xe02a, { KEY_RESERVED } }, */
140 /* { KE_IGNORE, 0xe02b, { KEY_RESERVED } }, */
143 /* { KE_IGNORE, 0xe02c, { KEY_RESERVED } }, */
145 { KE_IGNORE, 0xe02e, { KEY_VOLUMEDOWN } },
146 { KE_IGNORE, 0xe030, { KEY_VOLUMEUP } },
147 { KE_IGNORE, 0xe033, { KEY_KBDILLUMUP } },
148 { KE_IGNORE, 0xe034, { KEY_KBDILLUMDOWN } },
149 { KE_IGNORE, 0xe03a, { KEY_CAPSLOCK } },
152 { KE_IGNORE, 0xe043, { KEY_RESERVED } },
155 { KE_IGNORE, 0xe044, { KEY_RESERVED } },
160 * "button with a picture of a battery" which has event code 0xe045.
161 * Later Mario Limonciello from Dell told us that event code 0xe045 is
167 { KE_IGNORE, 0xe045, { KEY_NUMLOCK } },
170 { KE_IGNORE, 0xe046, { KEY_SCROLLLOCK } },
173 /* { KE_IGNORE, 0xe047, { KEY_RESERVED } }, */
176 { KE_IGNORE, 0xe06e, { KEY_RESERVED } },
178 { KE_IGNORE, 0xe0f7, { KEY_MUTE } },
179 { KE_IGNORE, 0xe0f8, { KEY_VOLUMEDOWN } },
180 { KE_IGNORE, 0xe0f9, { KEY_VOLUMEUP } },
200 /* Uninitialized entries here are KEY_RESERVED == 0. */
202 [0] = KEY_MEDIA,
245 * Keymap for WMI events of type 0x0010
247 * These are applied if the 0xB2 DMI hotkey table is present and doesn't
252 { KE_IGNORE, 0x0, { KEY_RESERVED } },
255 { KE_IGNORE, 0x1, { KEY_RESERVED } },
258 { KE_IGNORE, 0x3f, { KEY_RESERVED } },
261 { KE_KEY, 0x57, { KEY_BRIGHTNESSDOWN } },
262 { KE_KEY, 0x58, { KEY_BRIGHTNESSUP } },
265 { KE_KEY, 0x109, { KEY_MUTE} },
268 { KE_KEY, 0x150, { KEY_MICMUTE } },
271 { KE_IGNORE, 0x151, { KEY_RESERVED } },
274 { KE_IGNORE, 0x152, { KEY_KBDILLUMTOGGLE } },
280 { KE_IGNORE, 0x153, { KEY_RFKILL } },
283 { KE_IGNORE, 0x154, { KEY_RESERVED } },
291 { KE_IGNORE, 0x155, { KEY_RESERVED } },
294 { KE_IGNORE, 0x156, { KEY_RESERVED } },
295 { KE_IGNORE, 0x157, { KEY_RESERVED } },
298 { KE_KEY, 0x850, { KEY_PROG1 } },
299 { KE_KEY, 0x851, { KEY_PROG2 } },
300 { KE_KEY, 0x852, { KEY_PROG3 } },
306 { KE_IGNORE, 0xe008, { KEY_RFKILL } },
309 { KE_IGNORE, 0xe035, { KEY_RESERVED } },
313 * Keymap for WMI events of type 0x0011
317 { KE_IGNORE, 0xe070, { KEY_RESERVED } },
320 { KE_IGNORE, 0xfff0, { KEY_RESERVED } },
323 { KE_IGNORE, 0xfff1, { KEY_RESERVED } },
330 { KE_IGNORE, 0xfff2, { KEY_RESERVED } },
333 { KE_IGNORE, 0xfff3, { KEY_RESERVED } },
346 * Keymap for WMI events of type 0x0012
351 { KE_IGNORE, 0x0003, { KEY_RESERVED } },
354 { KE_IGNORE, 0x000d, { KEY_RESERVED } },
357 { KE_IGNORE, 0xe035, { KEY_RESERVED } },
393 int used = 0; in dell_wmi_process_key()
399 pr_info("Unknown key with type 0x%04x and code 0x%04x pressed\n", in dell_wmi_process_key()
401 return 0; in dell_wmi_process_key()
404 pr_debug("Key with type 0x%04x and code 0x%04x pressed\n", type, code); in dell_wmi_process_key()
410 return 0; in dell_wmi_process_key()
412 if (type == 0x0000 && code == 0xe025 && !wmi_requires_smbios_request) in dell_wmi_process_key()
413 return 0; in dell_wmi_process_key()
418 } else if (type == 0x0011 && code == 0xe070 && remaining > 0) { in dell_wmi_process_key()
421 SW_TABLET_MODE, !buffer[0]); in dell_wmi_process_key()
423 } else if (type == 0x0012 && code == 0x000d && remaining > 0) { in dell_wmi_process_key()
454 * BIOS/ACPI on devices with WMI interface version 0 does not clear in dell_wmi_notify()
463 * one event on devices with WMI interface version 0. in dell_wmi_notify()
465 if (priv->interface_version == 0 && buffer_entry < buffer_end) in dell_wmi_notify()
466 if (buffer_end > buffer_entry + buffer_entry[0] + 1) in dell_wmi_notify()
467 buffer_end = buffer_entry + buffer_entry[0] + 1; in dell_wmi_notify()
471 len = buffer_entry[0]; in dell_wmi_notify()
472 if (len == 0) in dell_wmi_notify()
485 case 0x0000: /* One key pressed or event occurred */ in dell_wmi_notify()
493 case 0x0010: /* Sequence of keys pressed */ in dell_wmi_notify()
494 case 0x0011: /* Sequence of events occurred */ in dell_wmi_notify()
501 case 0x0012: in dell_wmi_notify()
510 pr_info("Unknown WMI event type 0x%x\n", in dell_wmi_notify()
525 for (i = 0; i < len; i++) in have_scancode()
536 int hotkey_num, i, pos = 0; in handle_dmi_entry()
542 /* The Dell hotkey table is type 0xB2. Scan until we find it. */ in handle_dmi_entry()
543 if (dm->type != 0xb2) in handle_dmi_entry()
568 for (i = 0; i < hotkey_num; i++) { in handle_dmi_entry()
572 /* Uninitialized entries are 0 aka KEY_RESERVED. */ in handle_dmi_entry()
576 (bios_entry->keycode == 0xffff ? KEY_UNKNOWN : KEY_RESERVED); in handle_dmi_entry()
584 pr_info("firmware scancode 0x%x maps to unrecognized keycode 0x%x\n", in handle_dmi_entry()
608 int err, i, pos = 0; in dell_wmi_input_setup()
645 /* Append table with events of type 0x0010 which comes from DMI */ in dell_wmi_input_setup()
646 for (i = 0; i < dmi_results.keymap_size; i++) { in dell_wmi_input_setup()
648 keymap[pos].code |= (0x0010 << 16); in dell_wmi_input_setup()
654 /* Append table with extra events of type 0x0010 which are not in DMI */ in dell_wmi_input_setup()
655 for (i = 0; i < ARRAY_SIZE(dell_wmi_keymap_type_0010); i++) { in dell_wmi_input_setup()
664 have_scancode(entry->code | (0x0010 << 16), in dell_wmi_input_setup()
670 keymap[pos].code |= (0x0010 << 16); in dell_wmi_input_setup()
674 /* Append table with events of type 0x0011 */ in dell_wmi_input_setup()
675 for (i = 0; i < ARRAY_SIZE(dell_wmi_keymap_type_0011); i++) { in dell_wmi_input_setup()
677 keymap[pos].code |= (0x0011 << 16); in dell_wmi_input_setup()
681 /* Append table with events of type 0x0012 */ in dell_wmi_input_setup()
682 for (i = 0; i < ARRAY_SIZE(dell_wmi_keymap_type_0012); i++) { in dell_wmi_input_setup()
684 keymap[pos].code |= (0x0012 << 16); in dell_wmi_input_setup()
689 * Now append also table with "legacy" events of type 0x0000. Some of in dell_wmi_input_setup()
692 for (i = 0; i < ARRAY_SIZE(dell_wmi_keymap_type_0000); i++) { in dell_wmi_input_setup()
712 return 0; in dell_wmi_input_setup()
733 * cbArg1 Application ID 1 = 0x00010000
735 * QUICKSET/DCP = 0x51534554 "QSET"
736 * ALS Driver = 0x416c7353 "AlsS"
737 * Latitude ON = 0x4c6f6e52 "LonR"
739 * cbArg4 0 = Unregister application
741 * cbRes1 Standard return codes (0, -1, -2)
754 buffer->input[0] = 0x10000; in dell_wmi_events_set_enabled()
755 buffer->input[1] = 0x51534554; in dell_wmi_events_set_enabled()
758 if (ret == 0) in dell_wmi_events_set_enabled()
759 ret = buffer->output[0]; in dell_wmi_events_set_enabled()