1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Linux hotkey driver for Uniwill notebooks. 4 * 5 * Copyright (C) 2025 Armin Wolf <W_Armin@gmx.de> 6 */ 7 8 #ifndef UNIWILL_WMI_H 9 #define UNIWILL_WMI_H 10 11 #include <linux/init.h> 12 13 #define UNIWILL_OSD_CAPSLOCK 0x01 14 #define UNIWILL_OSD_NUMLOCK 0x02 15 #define UNIWILL_OSD_SCROLLLOCK 0x03 16 17 #define UNIWILL_OSD_TOUCHPAD_ON 0x04 18 #define UNIWILL_OSD_TOUCHPAD_OFF 0x05 19 20 #define UNIWILL_OSD_SILENT_MODE_ON 0x06 21 #define UNIWILL_OSD_SILENT_MODE_OFF 0x07 22 23 #define UNIWILL_OSD_WLAN_ON 0x08 24 #define UNIWILL_OSD_WLAN_OFF 0x09 25 26 #define UNIWILL_OSD_WIMAX_ON 0x0A 27 #define UNIWILL_OSD_WIMAX_OFF 0x0B 28 29 #define UNIWILL_OSD_BLUETOOTH_ON 0x0C 30 #define UNIWILL_OSD_BLUETOOTH_OFF 0x0D 31 32 #define UNIWILL_OSD_RF_ON 0x0E 33 #define UNIWILL_OSD_RF_OFF 0x0F 34 35 #define UNIWILL_OSD_3G_ON 0x10 36 #define UNIWILL_OSD_3G_OFF 0x11 37 38 #define UNIWILL_OSD_WEBCAM_ON 0x12 39 #define UNIWILL_OSD_WEBCAM_OFF 0x13 40 41 #define UNIWILL_OSD_BRIGHTNESSUP 0x14 42 #define UNIWILL_OSD_BRIGHTNESSDOWN 0x15 43 44 #define UNIWILL_OSD_RADIOON 0x1A 45 #define UNIWILL_OSD_RADIOOFF 0x1B 46 47 #define UNIWILL_OSD_POWERSAVE_ON 0x31 48 #define UNIWILL_OSD_POWERSAVE_OFF 0x32 49 50 #define UNIWILL_OSD_MENU 0x34 51 52 #define UNIWILL_OSD_MUTE 0x35 53 #define UNIWILL_OSD_VOLUMEDOWN 0x36 54 #define UNIWILL_OSD_VOLUMEUP 0x37 55 56 #define UNIWILL_OSD_MENU_2 0x38 57 58 #define UNIWILL_OSD_LIGHTBAR_ON 0x39 59 #define UNIWILL_OSD_LIGHTBAR_OFF 0x3A 60 61 #define UNIWILL_OSD_KB_LED_LEVEL0 0x3B 62 #define UNIWILL_OSD_KB_LED_LEVEL1 0x3C 63 #define UNIWILL_OSD_KB_LED_LEVEL2 0x3D 64 #define UNIWILL_OSD_KB_LED_LEVEL3 0x3E 65 #define UNIWILL_OSD_KB_LED_LEVEL4 0x3F 66 67 #define UNIWILL_OSD_SUPER_KEY_LOCK_ENABLE 0x40 68 #define UNIWILL_OSD_SUPER_KEY_LOCK_DISABLE 0x41 69 70 #define UNIWILL_OSD_MENU_JP 0x42 71 72 #define UNIWILL_OSD_CAMERA_ON 0x90 73 #define UNIWILL_OSD_CAMERA_OFF 0x91 74 75 #define UNIWILL_OSD_RFKILL 0xA4 76 77 #define UNIWILL_OSD_SUPER_KEY_LOCK_CHANGED 0xA5 78 79 #define UNIWILL_OSD_LIGHTBAR_STATE_CHANGED 0xA6 80 81 #define UNIWILL_OSD_FAN_BOOST_STATE_CHANGED 0xA7 82 83 #define UNIWILL_OSD_LCD_SW 0xA9 84 85 #define UNIWILL_OSD_FAN_OVERTEMP 0xAA 86 87 #define UNIWILL_OSD_DC_ADAPTER_CHANGED 0xAB 88 89 #define UNIWILL_OSD_BAT_HP_OFF 0xAC 90 91 #define UNIWILL_OSD_FAN_DOWN_TEMP 0xAD 92 93 #define UNIWILL_OSD_BATTERY_ALERT 0xAE 94 95 #define UNIWILL_OSD_TIMAP_HAIERLB_SW 0xAF 96 97 #define UNIWILL_OSD_PERFORMANCE_MODE_TOGGLE 0xB0 98 99 #define UNIWILL_OSD_KBDILLUMDOWN 0xB1 100 #define UNIWILL_OSD_KBDILLUMUP 0xB2 101 102 #define UNIWILL_OSD_BACKLIGHT_LEVEL_CHANGE 0xB3 103 #define UNIWILL_OSD_BACKLIGHT_POWER_CHANGE 0xB4 104 105 #define UNIWILL_OSD_MIC_MUTE 0xB7 106 107 #define UNIWILL_OSD_FN_LOCK 0xB8 108 #define UNIWILL_OSD_KBDILLUMTOGGLE 0xB9 109 110 #define UNIWILL_OSD_BAT_CHARGE_FULL_24_H 0xBE 111 112 #define UNIWILL_OSD_BAT_ERM_UPDATE 0xBF 113 114 #define UNIWILL_OSD_BENCHMARK_MODE_TOGGLE 0xC0 115 116 #define UNIWILL_OSD_WEBCAM_TOGGLE 0xCF 117 118 #define UNIWILL_OSD_KBD_BACKLIGHT_CHANGED 0xF0 119 120 struct device; 121 struct notifier_block; 122 123 int devm_uniwill_wmi_register_notifier(struct device *dev, struct notifier_block *nb); 124 125 int __init uniwill_wmi_register_driver(void); 126 127 void __exit uniwill_wmi_unregister_driver(void); 128 129 #endif /* UNIWILL_WMI_H */ 130