Lines Matching +full:0 +full:x0011
74 * Keymap for WMI events of type 0x0000
81 { KE_IGNORE, 0x003a, { KEY_CAPSLOCK } },
84 { KE_IGNORE, 0xe000, { KEY_RIGHTMETA } },
87 { KE_IGNORE, 0xe001, { KEY_RIGHTMETA } },
90 { KE_KEY, 0xe005, { KEY_BRIGHTNESSDOWN } },
91 { KE_KEY, 0xe006, { KEY_BRIGHTNESSUP } },
94 { KE_KEY, 0xe007, { KEY_BATTERY } },
97 { KE_IGNORE, 0xe008, { KEY_RFKILL } },
99 { KE_KEY, 0xe009, { KEY_EJECTCD } },
102 { KE_KEY, 0xe00b, { KEY_SWITCHVIDEOMODE } },
105 { KE_IGNORE, 0xe00c, { KEY_KBDILLUMTOGGLE } },
108 { KE_IGNORE, 0xe00d, { KEY_RESERVED } },
111 { KE_IGNORE, 0xe00e, { KEY_RESERVED } },
114 { KE_KEY, 0xe011, { KEY_WLAN } },
117 { KE_IGNORE, 0xe013, { KEY_RESERVED } },
119 { KE_IGNORE, 0xe020, { KEY_MUTE } },
122 /* { KE_IGNORE, 0xe023, { KEY_RESERVED } }, */
125 /* { KE_IGNORE, 0xe024, { KEY_RESERVED } }, */
128 { KE_KEY, 0xe025, { KEY_PROG4 } },
131 { KE_IGNORE, 0xe026, { KEY_RESERVED } },
134 { KE_KEY, 0xe027, { KEY_DISPLAYTOGGLE } },
137 /* { KE_IGNORE, 0xe028, { KEY_RESERVED } }, */
140 { KE_KEY, 0xe029, { KEY_PROG4 } },
143 /* { KE_IGNORE, 0xe02a, { KEY_RESERVED } }, */
146 /* { KE_IGNORE, 0xe02b, { KEY_RESERVED } }, */
149 /* { KE_IGNORE, 0xe02c, { KEY_RESERVED } }, */
151 { KE_IGNORE, 0xe02e, { KEY_VOLUMEDOWN } },
152 { KE_IGNORE, 0xe030, { KEY_VOLUMEUP } },
153 { KE_IGNORE, 0xe033, { KEY_KBDILLUMUP } },
154 { KE_IGNORE, 0xe034, { KEY_KBDILLUMDOWN } },
155 { KE_IGNORE, 0xe03a, { KEY_CAPSLOCK } },
158 { KE_IGNORE, 0xe043, { KEY_RESERVED } },
161 { KE_IGNORE, 0xe044, { KEY_RESERVED } },
166 * "button with a picture of a battery" which has event code 0xe045.
167 * Later Mario Limonciello from Dell told us that event code 0xe045 is
173 { KE_IGNORE, 0xe045, { KEY_NUMLOCK } },
176 { KE_IGNORE, 0xe046, { KEY_SCROLLLOCK } },
179 /* { KE_IGNORE, 0xe047, { KEY_RESERVED } }, */
182 { KE_IGNORE, 0xe06e, { KEY_RESERVED } },
184 { KE_IGNORE, 0xe0f7, { KEY_MUTE } },
185 { KE_IGNORE, 0xe0f8, { KEY_VOLUMEDOWN } },
186 { KE_IGNORE, 0xe0f9, { KEY_VOLUMEUP } },
206 /* Uninitialized entries here are KEY_RESERVED == 0. */
208 [0] = KEY_MEDIA,
251 * Keymap for WMI events of type 0x0010
253 * These are applied if the 0xB2 DMI hotkey table is present and doesn't
258 { KE_IGNORE, 0x0, { KEY_RESERVED } },
261 { KE_IGNORE, 0x1, { KEY_RESERVED } },
264 { KE_IGNORE, 0x3f, { KEY_RESERVED } },
267 { KE_KEY, 0x57, { KEY_BRIGHTNESSDOWN } },
268 { KE_KEY, 0x58, { KEY_BRIGHTNESSUP } },
271 { KE_KEY, 0x109, { KEY_MUTE} },
274 { KE_IGNORE, 0x120, { KEY_RESERVED }},
277 { KE_IGNORE, 0x130, { KEY_RESERVED }},
280 { KE_IGNORE, 0x140, { KEY_RESERVED }},
283 { KE_KEY, 0x150, { KEY_MICMUTE } },
286 { KE_IGNORE, 0x151, { KEY_RESERVED } },
289 { KE_IGNORE, 0x152, { KEY_KBDILLUMTOGGLE } },
295 { KE_IGNORE, 0x153, { KEY_RFKILL } },
298 { KE_IGNORE, 0x154, { KEY_RESERVED } },
306 { KE_IGNORE, 0x155, { KEY_RESERVED } },
309 { KE_IGNORE, 0x156, { KEY_RESERVED } },
310 { KE_IGNORE, 0x157, { KEY_RESERVED } },
313 { KE_KEY, 0x850, { KEY_PROG1 } },
314 { KE_KEY, 0x851, { KEY_PROG2 } },
315 { KE_KEY, 0x852, { KEY_PROG3 } },
321 { KE_IGNORE, 0xe008, { KEY_RFKILL } },
324 { KE_IGNORE, 0xe035, { KEY_RESERVED } },
328 * Keymap for WMI events of type 0x0011
332 { KE_IGNORE, 0xe070, { KEY_RESERVED } },
335 { KE_IGNORE, 0xfff0, { KEY_RESERVED } },
338 { KE_IGNORE, 0xfff1, { KEY_RESERVED } },
345 { KE_IGNORE, 0xfff2, { KEY_RESERVED } },
348 { KE_IGNORE, 0xfff3, { KEY_RESERVED } },
361 * Keymap for WMI events of type 0x0012
366 { KE_IGNORE, 0x0003, { KEY_RESERVED } },
369 { KE_IGNORE, 0x000d, { KEY_RESERVED } },
372 { KE_IGNORE, 0xe035, { KEY_RESERVED } },
408 int used = 0; in dell_wmi_process_key()
414 pr_info("Unknown key with type 0x%04x and code 0x%04x pressed\n", in dell_wmi_process_key()
416 return 0; in dell_wmi_process_key()
419 pr_debug("Key with type 0x%04x and code 0x%04x pressed\n", type, code); in dell_wmi_process_key()
425 return 0; in dell_wmi_process_key()
427 if (type == 0x0000 && code == 0xe025 && !wmi_requires_smbios_request) in dell_wmi_process_key()
428 return 0; in dell_wmi_process_key()
433 } else if (type == 0x0011 && code == 0xe070 && remaining > 0) { in dell_wmi_process_key()
436 SW_TABLET_MODE, !buffer[0]); in dell_wmi_process_key()
438 } else if (type == 0x0012 && code == 0x000d && remaining > 0) { in dell_wmi_process_key()
469 * BIOS/ACPI on devices with WMI interface version 0 does not clear in dell_wmi_notify()
478 * one event on devices with WMI interface version 0. in dell_wmi_notify()
480 if (priv->interface_version == 0 && buffer_entry < buffer_end) in dell_wmi_notify()
481 if (buffer_end > buffer_entry + buffer_entry[0] + 1) in dell_wmi_notify()
482 buffer_end = buffer_entry + buffer_entry[0] + 1; in dell_wmi_notify()
486 len = buffer_entry[0]; in dell_wmi_notify()
487 if (len == 0) in dell_wmi_notify()
500 case 0x0000: /* One key pressed or event occurred */ in dell_wmi_notify()
508 case 0x0010: /* Sequence of keys pressed */ in dell_wmi_notify()
509 case 0x0011: /* Sequence of events occurred */ in dell_wmi_notify()
516 case 0x0012: in dell_wmi_notify()
525 pr_info("Unknown WMI event type 0x%x\n", in dell_wmi_notify()
540 for (i = 0; i < len; i++) in have_scancode()
551 int hotkey_num, i, pos = 0; in handle_dmi_entry()
557 /* The Dell hotkey table is type 0xB2. Scan until we find it. */ in handle_dmi_entry()
558 if (dm->type != 0xb2) in handle_dmi_entry()
583 for (i = 0; i < hotkey_num; i++) { in handle_dmi_entry()
587 /* Uninitialized entries are 0 aka KEY_RESERVED. */ in handle_dmi_entry()
591 (bios_entry->keycode == 0xffff ? KEY_UNKNOWN : KEY_RESERVED); in handle_dmi_entry()
599 pr_info("firmware scancode 0x%x maps to unrecognized keycode 0x%x\n", in handle_dmi_entry()
623 int err, i, pos = 0; in dell_wmi_input_setup()
660 /* Append table with events of type 0x0010 which comes from DMI */ in dell_wmi_input_setup()
661 for (i = 0; i < dmi_results.keymap_size; i++) { in dell_wmi_input_setup()
663 keymap[pos].code |= (0x0010 << 16); in dell_wmi_input_setup()
669 /* Append table with extra events of type 0x0010 which are not in DMI */ in dell_wmi_input_setup()
670 for (i = 0; i < ARRAY_SIZE(dell_wmi_keymap_type_0010); i++) { in dell_wmi_input_setup()
679 have_scancode(entry->code | (0x0010 << 16), in dell_wmi_input_setup()
685 keymap[pos].code |= (0x0010 << 16); in dell_wmi_input_setup()
689 /* Append table with events of type 0x0011 */ in dell_wmi_input_setup()
690 for (i = 0; i < ARRAY_SIZE(dell_wmi_keymap_type_0011); i++) { in dell_wmi_input_setup()
692 keymap[pos].code |= (0x0011 << 16); in dell_wmi_input_setup()
696 /* Append table with events of type 0x0012 */ in dell_wmi_input_setup()
697 for (i = 0; i < ARRAY_SIZE(dell_wmi_keymap_type_0012); i++) { in dell_wmi_input_setup()
699 keymap[pos].code |= (0x0012 << 16); in dell_wmi_input_setup()
704 * Now append also table with "legacy" events of type 0x0000. Some of in dell_wmi_input_setup()
707 for (i = 0; i < ARRAY_SIZE(dell_wmi_keymap_type_0000); i++) { in dell_wmi_input_setup()
727 return 0; in dell_wmi_input_setup()
748 * cbArg1 Application ID 1 = 0x00010000
750 * QUICKSET/DCP = 0x51534554 "QSET"
751 * ALS Driver = 0x416c7353 "AlsS"
752 * Latitude ON = 0x4c6f6e52 "LonR"
754 * cbArg4 0 = Unregister application
756 * cbRes1 Standard return codes (0, -1, -2)
769 buffer->input[0] = 0x10000; in dell_wmi_events_set_enabled()
770 buffer->input[1] = 0x51534554; in dell_wmi_events_set_enabled()
773 if (ret == 0) in dell_wmi_events_set_enabled()
774 ret = buffer->output[0]; in dell_wmi_events_set_enabled()