1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 21da177e4SLinus Torvalds #ifndef __LINUX_KEYBOARD_H 31da177e4SLinus Torvalds #define __LINUX_KEYBOARD_H 41da177e4SLinus Torvalds 5607ca46eSDavid Howells #include <uapi/linux/keyboard.h> 61da177e4SLinus Torvalds 741ab4396SSamuel Thibault struct notifier_block; 81da177e4SLinus Torvalds extern unsigned short *key_maps[MAX_NR_KEYMAPS]; 91da177e4SLinus Torvalds extern unsigned short plain_map[NR_KEYS]; 1041ab4396SSamuel Thibault 1141ab4396SSamuel Thibault struct keyboard_notifier_param { 1241ab4396SSamuel Thibault struct vc_data *vc; /* VC on which the keyboard press was done */ 1341ab4396SSamuel Thibault int down; /* Pressure of the key? */ 1441ab4396SSamuel Thibault int shift; /* Current shift mask */ 150beb4f6fSKarl Dahlke int ledstate; /* Current led state */ 1641ab4396SSamuel Thibault unsigned int value; /* keycode, unicode value or keysym */ 1741ab4396SSamuel Thibault }; 1841ab4396SSamuel Thibault 1941ab4396SSamuel Thibault extern int register_keyboard_notifier(struct notifier_block *nb); 2041ab4396SSamuel Thibault extern int unregister_keyboard_notifier(struct notifier_block *nb); 211da177e4SLinus Torvalds #endif 22