1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef __LINUX_KEYBOARD_H 3*4882a593Smuzhiyun #define __LINUX_KEYBOARD_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <uapi/linux/keyboard.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun struct notifier_block; 8*4882a593Smuzhiyun extern unsigned short *key_maps[MAX_NR_KEYMAPS]; 9*4882a593Smuzhiyun extern unsigned short plain_map[NR_KEYS]; 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun struct keyboard_notifier_param { 12*4882a593Smuzhiyun struct vc_data *vc; /* VC on which the keyboard press was done */ 13*4882a593Smuzhiyun int down; /* Pressure of the key? */ 14*4882a593Smuzhiyun int shift; /* Current shift mask */ 15*4882a593Smuzhiyun int ledstate; /* Current led state */ 16*4882a593Smuzhiyun unsigned int value; /* keycode, unicode value or keysym */ 17*4882a593Smuzhiyun }; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun extern int register_keyboard_notifier(struct notifier_block *nb); 20*4882a593Smuzhiyun extern int unregister_keyboard_notifier(struct notifier_block *nb); 21*4882a593Smuzhiyun #endif 22