📄 input_map.c
字号:
/* Simple file with an INPUT map in it. */#define __stringify_1(x) #x#define __stringify(x) __stringify_1(x)#define MODULE_GENERIC_TABLE(gtype,name) \static const unsigned long __module_##gtype##_size \ __attribute__ ((unused)) = sizeof(struct gtype##_id); \static const struct gtype##_id * __module_##gtype##_table \ __attribute__ ((unused)) = name; \extern const struct gtype##_id __mod_##gtype##_table \ __attribute__ ((unused, alias(__stringify(name))))#define MODULE_DEVICE_TABLE(type,name) \ MODULE_GENERIC_TABLE(type##_device,name)#define INPUT_DEVICE_ID_MATCH_VENDOR 2#define INPUT_DEVICE_ID_MATCH_PRODUCT 4#define INPUT_DEVICE_ID_MATCH_VERSION 8#define INPUT_DEVICE_ID_MATCH_EVBIT 0x010#define INPUT_DEVICE_ID_MATCH_KEYBIT 0x020#define INPUT_DEVICE_ID_MATCH_RELBIT 0x040#define INPUT_DEVICE_ID_MATCH_ABSBIT 0x080#define INPUT_DEVICE_ID_MATCH_MSCIT 0x100#define INPUT_DEVICE_ID_MATCH_LEDBIT 0x200#define INPUT_DEVICE_ID_MATCH_SNDBIT 0x400#define INPUT_DEVICE_ID_MATCH_FFBIT 0x800#define INPUT_DEVICE_ID_MATCH_DEVICE\ (INPUT_DEVICE_ID_MATCH_BUS | INPUT_DEVICE_ID_MATCH_VENDOR | INPUT_DEVICE_ID_MATCH_PRODUCT)#define INPUT_DEVICE_ID_MATCH_DEVICE_AND_VERSION\ (INPUT_DEVICE_ID_MATCH_DEVICE | INPUT_DEVICE_ID_MATCH_VERSION)#define EV_MAX 0x1f#define KEY_MAX 0x1ff#define REL_MAX 0x0f#define ABS_MAX 0x3f#define MSC_MAX 0x07#define LED_MAX 0x0f#define REP_MAX 0x01#define SND_MAX 0x07#define FF_MAX 0x7f#define BIT(x) (1UL<<((x)%BITS_PER_LONG))#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)struct input_id { unsigned short bustype; unsigned short vendor; unsigned short product; unsigned short version;};struct input_device_id { unsigned long flags; struct input_id id; unsigned long evbit[NBITS(EV_MAX)]; unsigned long keybit[NBITS(KEY_MAX)]; unsigned long relbit[NBITS(REL_MAX)]; unsigned long absbit[NBITS(ABS_MAX)]; unsigned long mscbit[NBITS(MSC_MAX)]; unsigned long ledbit[NBITS(LED_MAX)]; unsigned long sndbit[NBITS(SND_MAX)]; unsigned long ffbit[NBITS(FF_MAX)]; unsigned long driver_info;};#define EV_SND 0x12#define EV_KEY 0x01static struct input_device_id kbd_ids[] = { { .flags = INPUT_DEVICE_ID_MATCH_EVBIT, .evbit = { BIT(EV_KEY) }, }, { .flags = INPUT_DEVICE_ID_MATCH_EVBIT, .evbit = { BIT(EV_SND) }, }, { }, /* Terminating entry */};MODULE_DEVICE_TABLE(input, kbd_ids);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -