xref: /linux-6.15/include/linux/keyboard.h (revision b2441318)
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