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