blob: 73d11e4090cf52cb8e4574b473417677d9f59b99 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002#ifndef __LINUX_KEYBOARD_H
3#define __LINUX_KEYBOARD_H
4
David Howells607ca462012-10-13 10:46:48 +01005#include <uapi/linux/keyboard.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07006
Samuel Thibault41ab4392007-10-18 23:39:12 -07007struct notifier_block;
Linus Torvalds1da177e2005-04-16 15:20:36 -07008extern unsigned short *key_maps[MAX_NR_KEYMAPS];
9extern unsigned short plain_map[NR_KEYS];
Samuel Thibault41ab4392007-10-18 23:39:12 -070010
11struct keyboard_notifier_param {
12 struct vc_data *vc; /* VC on which the keyboard press was done */
13 int down; /* Pressure of the key? */
14 int shift; /* Current shift mask */
Karl Dahlke0beb4f62008-04-15 01:30:32 -040015 int ledstate; /* Current led state */
Samuel Thibault41ab4392007-10-18 23:39:12 -070016 unsigned int value; /* keycode, unicode value or keysym */
17};
18
19extern int register_keyboard_notifier(struct notifier_block *nb);
20extern int unregister_keyboard_notifier(struct notifier_block *nb);
Linus Torvalds1da177e2005-04-16 15:20:36 -070021#endif