Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
b22d8370
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
b22d8370
编写于
7月 23, 2008
作者:
J
Jiri Kosina
浏览文件
操作
浏览文件
下载
差异文件
Merge branches 'upstream' and 'upstream-fixes' into for-linus
上级
00b33277
6a250778
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
66 addition
and
19 deletion
+66
-19
drivers/hid/hid-input-quirks.c
drivers/hid/hid-input-quirks.c
+40
-0
drivers/hid/hid-input.c
drivers/hid/hid-input.c
+3
-0
drivers/hid/hidraw.c
drivers/hid/hidraw.c
+2
-0
drivers/hid/usbhid/hid-quirks.c
drivers/hid/usbhid/hid-quirks.c
+19
-1
drivers/hid/usbhid/usbkbd.c
drivers/hid/usbhid/usbkbd.c
+1
-9
drivers/hid/usbhid/usbmouse.c
drivers/hid/usbhid/usbmouse.c
+0
-8
include/linux/hid.h
include/linux/hid.h
+1
-1
未找到文件。
drivers/hid/hid-input-quirks.c
浏览文件 @
b22d8370
...
@@ -89,6 +89,29 @@ static int quirk_logitech_ultrax_remote(struct hid_usage *usage, struct input_de
...
@@ -89,6 +89,29 @@ static int quirk_logitech_ultrax_remote(struct hid_usage *usage, struct input_de
return
1
;
return
1
;
}
}
static
int
quirk_gyration_remote
(
struct
hid_usage
*
usage
,
struct
input_dev
*
input
,
unsigned
long
**
bit
,
int
*
max
)
{
if
((
usage
->
hid
&
HID_USAGE_PAGE
)
!=
HID_UP_LOGIVENDOR
)
return
0
;
set_bit
(
EV_REP
,
input
->
evbit
);
switch
(
usage
->
hid
&
HID_USAGE
)
{
/* Reported on Gyration MCE Remote */
case
0x00d
:
map_key_clear
(
KEY_HOME
);
break
;
case
0x024
:
map_key_clear
(
KEY_DVD
);
break
;
case
0x025
:
map_key_clear
(
KEY_PVR
);
break
;
case
0x046
:
map_key_clear
(
KEY_MEDIA
);
break
;
case
0x047
:
map_key_clear
(
KEY_MP3
);
break
;
case
0x049
:
map_key_clear
(
KEY_CAMERA
);
break
;
case
0x04a
:
map_key_clear
(
KEY_VIDEO
);
break
;
default:
return
0
;
}
return
1
;
}
static
int
quirk_chicony_tactical_pad
(
struct
hid_usage
*
usage
,
struct
input_dev
*
input
,
static
int
quirk_chicony_tactical_pad
(
struct
hid_usage
*
usage
,
struct
input_dev
*
input
,
unsigned
long
**
bit
,
int
*
max
)
unsigned
long
**
bit
,
int
*
max
)
{
{
...
@@ -303,6 +326,9 @@ static int quirk_sunplus_wdesktop(struct hid_usage *usage, struct input_dev *inp
...
@@ -303,6 +326,9 @@ static int quirk_sunplus_wdesktop(struct hid_usage *usage, struct input_dev *inp
#define VENDOR_ID_EZKEY 0x0518
#define VENDOR_ID_EZKEY 0x0518
#define DEVICE_ID_BTC_8193 0x0002
#define DEVICE_ID_BTC_8193 0x0002
#define VENDOR_ID_GYRATION 0x0c16
#define DEVICE_ID_GYRATION_REMOTE 0x0002
#define VENDOR_ID_LOGITECH 0x046d
#define VENDOR_ID_LOGITECH 0x046d
#define DEVICE_ID_LOGITECH_RECEIVER 0xc101
#define DEVICE_ID_LOGITECH_RECEIVER 0xc101
#define DEVICE_ID_S510_RECEIVER 0xc50c
#define DEVICE_ID_S510_RECEIVER 0xc50c
...
@@ -337,6 +363,8 @@ static const struct hid_input_blacklist {
...
@@ -337,6 +363,8 @@ static const struct hid_input_blacklist {
{
VENDOR_ID_EZKEY
,
DEVICE_ID_BTC_8193
,
quirk_btc_8193
},
{
VENDOR_ID_EZKEY
,
DEVICE_ID_BTC_8193
,
quirk_btc_8193
},
{
VENDOR_ID_GYRATION
,
DEVICE_ID_GYRATION_REMOTE
,
quirk_gyration_remote
},
{
VENDOR_ID_LOGITECH
,
DEVICE_ID_LOGITECH_RECEIVER
,
quirk_logitech_ultrax_remote
},
{
VENDOR_ID_LOGITECH
,
DEVICE_ID_LOGITECH_RECEIVER
,
quirk_logitech_ultrax_remote
},
{
VENDOR_ID_LOGITECH
,
DEVICE_ID_S510_RECEIVER
,
quirk_logitech_wireless
},
{
VENDOR_ID_LOGITECH
,
DEVICE_ID_S510_RECEIVER
,
quirk_logitech_wireless
},
{
VENDOR_ID_LOGITECH
,
DEVICE_ID_S510_RECEIVER_2
,
quirk_logitech_wireless
},
{
VENDOR_ID_LOGITECH
,
DEVICE_ID_S510_RECEIVER_2
,
quirk_logitech_wireless
},
...
@@ -438,6 +466,18 @@ int hidinput_event_quirks(struct hid_device *hid, struct hid_field *field, struc
...
@@ -438,6 +466,18 @@ int hidinput_event_quirks(struct hid_device *hid, struct hid_field *field, struc
input_event
(
input
,
usage
->
type
,
REL_WHEEL
,
-
value
);
input_event
(
input
,
usage
->
type
,
REL_WHEEL
,
-
value
);
return
1
;
return
1
;
}
}
/* Gyration MCE remote "Sleep" key */
if
(
hid
->
vendor
==
VENDOR_ID_GYRATION
&&
hid
->
product
==
DEVICE_ID_GYRATION_REMOTE
&&
(
usage
->
hid
&
HID_USAGE_PAGE
)
==
HID_UP_GENDESK
&&
(
usage
->
hid
&
0xff
)
==
0x82
)
{
input_event
(
input
,
usage
->
type
,
usage
->
code
,
1
);
input_sync
(
input
);
input_event
(
input
,
usage
->
type
,
usage
->
code
,
0
);
input_sync
(
input
);
return
1
;
}
return
0
;
return
0
;
}
}
...
...
drivers/hid/hid-input.c
浏览文件 @
b22d8370
...
@@ -100,6 +100,8 @@ static struct hidinput_key_translation apple_fn_keys[] = {
...
@@ -100,6 +100,8 @@ static struct hidinput_key_translation apple_fn_keys[] = {
{
KEY_F2
,
KEY_BRIGHTNESSUP
,
APPLE_FLAG_FKEY
},
{
KEY_F2
,
KEY_BRIGHTNESSUP
,
APPLE_FLAG_FKEY
},
{
KEY_F3
,
KEY_FN_F5
,
APPLE_FLAG_FKEY
},
/* Expos */
{
KEY_F3
,
KEY_FN_F5
,
APPLE_FLAG_FKEY
},
/* Expos */
{
KEY_F4
,
KEY_FN_F4
,
APPLE_FLAG_FKEY
},
/* Dashboard */
{
KEY_F4
,
KEY_FN_F4
,
APPLE_FLAG_FKEY
},
/* Dashboard */
{
KEY_F5
,
KEY_KBDILLUMDOWN
,
APPLE_FLAG_FKEY
},
{
KEY_F6
,
KEY_KBDILLUMUP
,
APPLE_FLAG_FKEY
},
{
KEY_F7
,
KEY_PREVIOUSSONG
,
APPLE_FLAG_FKEY
},
{
KEY_F7
,
KEY_PREVIOUSSONG
,
APPLE_FLAG_FKEY
},
{
KEY_F8
,
KEY_PLAYPAUSE
,
APPLE_FLAG_FKEY
},
{
KEY_F8
,
KEY_PLAYPAUSE
,
APPLE_FLAG_FKEY
},
{
KEY_F9
,
KEY_NEXTSONG
,
APPLE_FLAG_FKEY
},
{
KEY_F9
,
KEY_NEXTSONG
,
APPLE_FLAG_FKEY
},
...
@@ -612,6 +614,7 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
...
@@ -612,6 +614,7 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
case
0x0b6
:
map_key_clear
(
KEY_PREVIOUSSONG
);
break
;
case
0x0b6
:
map_key_clear
(
KEY_PREVIOUSSONG
);
break
;
case
0x0b7
:
map_key_clear
(
KEY_STOPCD
);
break
;
case
0x0b7
:
map_key_clear
(
KEY_STOPCD
);
break
;
case
0x0b8
:
map_key_clear
(
KEY_EJECTCD
);
break
;
case
0x0b8
:
map_key_clear
(
KEY_EJECTCD
);
break
;
case
0x0bc
:
map_key_clear
(
KEY_MEDIA_REPEAT
);
break
;
case
0x0cd
:
map_key_clear
(
KEY_PLAYPAUSE
);
break
;
case
0x0cd
:
map_key_clear
(
KEY_PLAYPAUSE
);
break
;
case
0x0e0
:
map_abs_clear
(
ABS_VOLUME
);
break
;
case
0x0e0
:
map_abs_clear
(
ABS_VOLUME
);
break
;
...
...
drivers/hid/hidraw.c
浏览文件 @
b22d8370
...
@@ -212,6 +212,8 @@ static int hidraw_release(struct inode * inode, struct file * file)
...
@@ -212,6 +212,8 @@ static int hidraw_release(struct inode * inode, struct file * file)
kfree
(
list
->
hidraw
);
kfree
(
list
->
hidraw
);
}
}
kfree
(
list
);
return
0
;
return
0
;
}
}
...
...
drivers/hid/usbhid/hid-quirks.c
浏览文件 @
b22d8370
...
@@ -69,12 +69,18 @@
...
@@ -69,12 +69,18 @@
#define USB_DEVICE_ID_APPLE_ALU_ANSI 0x0220
#define USB_DEVICE_ID_APPLE_ALU_ANSI 0x0220
#define USB_DEVICE_ID_APPLE_ALU_ISO 0x0221
#define USB_DEVICE_ID_APPLE_ALU_ISO 0x0221
#define USB_DEVICE_ID_APPLE_ALU_JIS 0x0222
#define USB_DEVICE_ID_APPLE_ALU_JIS 0x0222
#define USB_DEVICE_ID_APPLE_WELLSPRING_ANSI 0x0223
#define USB_DEVICE_ID_APPLE_WELLSPRING_ISO 0x0224
#define USB_DEVICE_ID_APPLE_WELLSPRING_JIS 0x0225
#define USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI 0x0229
#define USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI 0x0229
#define USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO 0x022a
#define USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO 0x022a
#define USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS 0x022b
#define USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS 0x022b
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI 0x022c
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI 0x022c
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO 0x022d
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO 0x022d
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS 0x022e
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS 0x022e
#define USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI 0x0230
#define USB_DEVICE_ID_APPLE_WELLSPRING2_ISO 0x0231
#define USB_DEVICE_ID_APPLE_WELLSPRING2_JIS 0x0232
#define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY 0x030a
#define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY 0x030a
#define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY 0x030b
#define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY 0x030b
#define USB_DEVICE_ID_APPLE_IRCONTROL4 0x8242
#define USB_DEVICE_ID_APPLE_IRCONTROL4 0x8242
...
@@ -241,6 +247,8 @@
...
@@ -241,6 +247,8 @@
#define USB_DEVICE_ID_LD_MACHINETEST 0x2040
#define USB_DEVICE_ID_LD_MACHINETEST 0x2040
#define USB_VENDOR_ID_LOGITECH 0x046d
#define USB_VENDOR_ID_LOGITECH 0x046d
#define USB_DEVICE_ID_LOGITECH_LX3 0xc044
#define USB_DEVICE_ID_LOGITECH_V150 0xc047
#define USB_DEVICE_ID_LOGITECH_RECEIVER 0xc101
#define USB_DEVICE_ID_LOGITECH_RECEIVER 0xc101
#define USB_DEVICE_ID_LOGITECH_HARMONY 0xc110
#define USB_DEVICE_ID_LOGITECH_HARMONY 0xc110
#define USB_DEVICE_ID_LOGITECH_HARMONY_2 0xc111
#define USB_DEVICE_ID_LOGITECH_HARMONY_2 0xc111
...
@@ -314,6 +322,7 @@
...
@@ -314,6 +322,7 @@
#define USB_DEVICE_ID_S510_RECEIVER_2 0xc517
#define USB_DEVICE_ID_S510_RECEIVER_2 0xc517
#define USB_DEVICE_ID_LOGITECH_CORDLESS_DESKTOP_LX500 0xc512
#define USB_DEVICE_ID_LOGITECH_CORDLESS_DESKTOP_LX500 0xc512
#define USB_DEVICE_ID_MX3000_RECEIVER 0xc513
#define USB_DEVICE_ID_MX3000_RECEIVER 0xc513
#define USB_DEVICE_ID_DINOVO_DESKTOP 0xc704
#define USB_DEVICE_ID_DINOVO_EDGE 0xc714
#define USB_DEVICE_ID_DINOVO_EDGE 0xc714
#define USB_DEVICE_ID_DINOVO_MINI 0xc71f
#define USB_DEVICE_ID_DINOVO_MINI 0xc71f
...
@@ -443,7 +452,8 @@ static const struct hid_blacklist {
...
@@ -443,7 +452,8 @@ static const struct hid_blacklist {
{
USB_VENDOR_ID_NEC
,
USB_DEVICE_ID_NEC_USB_GAME_PAD
,
HID_QUIRK_BADPAD
},
{
USB_VENDOR_ID_NEC
,
USB_DEVICE_ID_NEC_USB_GAME_PAD
,
HID_QUIRK_BADPAD
},
{
USB_VENDOR_ID_SAITEK
,
USB_DEVICE_ID_SAITEK_RUMBLEPAD
,
HID_QUIRK_BADPAD
},
{
USB_VENDOR_ID_SAITEK
,
USB_DEVICE_ID_SAITEK_RUMBLEPAD
,
HID_QUIRK_BADPAD
},
{
USB_VENDOR_ID_TOPMAX
,
USB_DEVICE_ID_TOPMAX_COBRAPAD
,
HID_QUIRK_BADPAD
},
{
USB_VENDOR_ID_TOPMAX
,
USB_DEVICE_ID_TOPMAX_COBRAPAD
,
HID_QUIRK_BADPAD
},
{
USB_VENDOR_ID_LOGITECH
,
USB_DEVICE_ID_DINOVO_DESKTOP
,
HID_QUIRK_DUPLICATE_USAGES
},
{
USB_VENDOR_ID_LOGITECH
,
USB_DEVICE_ID_DINOVO_EDGE
,
HID_QUIRK_DUPLICATE_USAGES
},
{
USB_VENDOR_ID_LOGITECH
,
USB_DEVICE_ID_DINOVO_EDGE
,
HID_QUIRK_DUPLICATE_USAGES
},
{
USB_VENDOR_ID_LOGITECH
,
USB_DEVICE_ID_DINOVO_MINI
,
HID_QUIRK_DUPLICATE_USAGES
},
{
USB_VENDOR_ID_LOGITECH
,
USB_DEVICE_ID_DINOVO_MINI
,
HID_QUIRK_DUPLICATE_USAGES
},
...
@@ -593,6 +603,8 @@ static const struct hid_blacklist {
...
@@ -593,6 +603,8 @@ static const struct hid_blacklist {
{
USB_VENDOR_ID_LOGITECH
,
USB_DEVICE_ID_LOGITECH_ELITE_KBD
,
HID_QUIRK_LOGITECH_IGNORE_DOUBLED_WHEEL
|
HID_QUIRK_LOGITECH_EXPANDED_KEYMAP
},
{
USB_VENDOR_ID_LOGITECH
,
USB_DEVICE_ID_LOGITECH_ELITE_KBD
,
HID_QUIRK_LOGITECH_IGNORE_DOUBLED_WHEEL
|
HID_QUIRK_LOGITECH_EXPANDED_KEYMAP
},
{
USB_VENDOR_ID_LOGITECH
,
USB_DEVICE_ID_LOGITECH_CORDLESS_DESKTOP_LX500
,
HID_QUIRK_LOGITECH_IGNORE_DOUBLED_WHEEL
|
HID_QUIRK_LOGITECH_EXPANDED_KEYMAP
},
{
USB_VENDOR_ID_LOGITECH
,
USB_DEVICE_ID_LOGITECH_CORDLESS_DESKTOP_LX500
,
HID_QUIRK_LOGITECH_IGNORE_DOUBLED_WHEEL
|
HID_QUIRK_LOGITECH_EXPANDED_KEYMAP
},
{
USB_VENDOR_ID_LOGITECH
,
USB_DEVICE_ID_LOGITECH_LX3
,
HID_QUIRK_INVERT_HWHEEL
},
{
USB_VENDOR_ID_LOGITECH
,
USB_DEVICE_ID_LOGITECH_V150
,
HID_QUIRK_INVERT_HWHEEL
},
{
USB_VENDOR_ID_MICROSOFT
,
USB_DEVICE_ID_MS_NE4K
,
HID_QUIRK_MICROSOFT_KEYS
},
{
USB_VENDOR_ID_MICROSOFT
,
USB_DEVICE_ID_MS_NE4K
,
HID_QUIRK_MICROSOFT_KEYS
},
{
USB_VENDOR_ID_MICROSOFT
,
USB_DEVICE_ID_MS_LK6K
,
HID_QUIRK_MICROSOFT_KEYS
},
{
USB_VENDOR_ID_MICROSOFT
,
USB_DEVICE_ID_MS_LK6K
,
HID_QUIRK_MICROSOFT_KEYS
},
...
@@ -642,6 +654,12 @@ static const struct hid_blacklist {
...
@@ -642,6 +654,12 @@ static const struct hid_blacklist {
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI
,
HID_QUIRK_APPLE_NUMLOCK_EMULATION
|
HID_QUIRK_APPLE_HAS_FN
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI
,
HID_QUIRK_APPLE_NUMLOCK_EMULATION
|
HID_QUIRK_APPLE_HAS_FN
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO
,
HID_QUIRK_APPLE_NUMLOCK_EMULATION
|
HID_QUIRK_APPLE_HAS_FN
|
HID_QUIRK_APPLE_ISO_KEYBOARD
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO
,
HID_QUIRK_APPLE_NUMLOCK_EMULATION
|
HID_QUIRK_APPLE_HAS_FN
|
HID_QUIRK_APPLE_ISO_KEYBOARD
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS
,
HID_QUIRK_APPLE_NUMLOCK_EMULATION
|
HID_QUIRK_APPLE_HAS_FN
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS
,
HID_QUIRK_APPLE_NUMLOCK_EMULATION
|
HID_QUIRK_APPLE_HAS_FN
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_WELLSPRING_ANSI
,
HID_QUIRK_APPLE_HAS_FN
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_WELLSPRING_ISO
,
HID_QUIRK_APPLE_HAS_FN
|
HID_QUIRK_APPLE_ISO_KEYBOARD
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_WELLSPRING_JIS
,
HID_QUIRK_APPLE_HAS_FN
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI
,
HID_QUIRK_APPLE_HAS_FN
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_WELLSPRING2_ISO
,
HID_QUIRK_APPLE_HAS_FN
|
HID_QUIRK_APPLE_ISO_KEYBOARD
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_WELLSPRING2_JIS
,
HID_QUIRK_APPLE_HAS_FN
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY
,
HID_QUIRK_APPLE_NUMLOCK_EMULATION
|
HID_QUIRK_APPLE_HAS_FN
|
HID_QUIRK_IGNORE_MOUSE
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY
,
HID_QUIRK_APPLE_NUMLOCK_EMULATION
|
HID_QUIRK_APPLE_HAS_FN
|
HID_QUIRK_IGNORE_MOUSE
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY
,
HID_QUIRK_APPLE_NUMLOCK_EMULATION
|
HID_QUIRK_APPLE_HAS_FN
|
HID_QUIRK_IGNORE_MOUSE
},
{
USB_VENDOR_ID_APPLE
,
USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY
,
HID_QUIRK_APPLE_NUMLOCK_EMULATION
|
HID_QUIRK_APPLE_HAS_FN
|
HID_QUIRK_IGNORE_MOUSE
},
...
...
drivers/hid/usbhid/usbkbd.c
浏览文件 @
b22d8370
...
@@ -43,7 +43,7 @@ MODULE_AUTHOR(DRIVER_AUTHOR);
...
@@ -43,7 +43,7 @@ MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION
(
DRIVER_DESC
);
MODULE_DESCRIPTION
(
DRIVER_DESC
);
MODULE_LICENSE
(
DRIVER_LICENSE
);
MODULE_LICENSE
(
DRIVER_LICENSE
);
static
unsigned
char
usb_kbd_keycode
[
256
]
=
{
static
const
unsigned
char
usb_kbd_keycode
[
256
]
=
{
0
,
0
,
0
,
0
,
30
,
48
,
46
,
32
,
18
,
33
,
34
,
35
,
23
,
36
,
37
,
38
,
0
,
0
,
0
,
0
,
30
,
48
,
46
,
32
,
18
,
33
,
34
,
35
,
23
,
36
,
37
,
38
,
50
,
49
,
24
,
25
,
16
,
19
,
31
,
20
,
22
,
47
,
17
,
45
,
21
,
44
,
2
,
3
,
50
,
49
,
24
,
25
,
16
,
19
,
31
,
20
,
22
,
47
,
17
,
45
,
21
,
44
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
28
,
1
,
14
,
15
,
57
,
12
,
13
,
26
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
28
,
1
,
14
,
15
,
57
,
12
,
13
,
26
,
...
@@ -233,14 +233,6 @@ static int usb_kbd_probe(struct usb_interface *iface,
...
@@ -233,14 +233,6 @@ static int usb_kbd_probe(struct usb_interface *iface,
if
(
!
usb_endpoint_is_int_in
(
endpoint
))
if
(
!
usb_endpoint_is_int_in
(
endpoint
))
return
-
ENODEV
;
return
-
ENODEV
;
#ifdef CONFIG_USB_HID
if
(
usbhid_lookup_quirk
(
le16_to_cpu
(
dev
->
descriptor
.
idVendor
),
le16_to_cpu
(
dev
->
descriptor
.
idProduct
))
&
HID_QUIRK_IGNORE
)
{
return
-
ENODEV
;
}
#endif
pipe
=
usb_rcvintpipe
(
dev
,
endpoint
->
bEndpointAddress
);
pipe
=
usb_rcvintpipe
(
dev
,
endpoint
->
bEndpointAddress
);
maxp
=
usb_maxpacket
(
dev
,
pipe
,
usb_pipeout
(
pipe
));
maxp
=
usb_maxpacket
(
dev
,
pipe
,
usb_pipeout
(
pipe
));
...
...
drivers/hid/usbhid/usbmouse.c
浏览文件 @
b22d8370
...
@@ -129,14 +129,6 @@ static int usb_mouse_probe(struct usb_interface *intf, const struct usb_device_i
...
@@ -129,14 +129,6 @@ static int usb_mouse_probe(struct usb_interface *intf, const struct usb_device_i
if
(
!
usb_endpoint_is_int_in
(
endpoint
))
if
(
!
usb_endpoint_is_int_in
(
endpoint
))
return
-
ENODEV
;
return
-
ENODEV
;
#ifdef CONFIG_USB_HID
if
(
usbhid_lookup_quirk
(
le16_to_cpu
(
dev
->
descriptor
.
idVendor
),
le16_to_cpu
(
dev
->
descriptor
.
idProduct
))
&
(
HID_QUIRK_IGNORE
|
HID_QUIRK_IGNORE_MOUSE
))
{
return
-
ENODEV
;
}
#endif
pipe
=
usb_rcvintpipe
(
dev
,
endpoint
->
bEndpointAddress
);
pipe
=
usb_rcvintpipe
(
dev
,
endpoint
->
bEndpointAddress
);
maxp
=
usb_maxpacket
(
dev
,
pipe
,
usb_pipeout
(
pipe
));
maxp
=
usb_maxpacket
(
dev
,
pipe
,
usb_pipeout
(
pipe
));
...
...
include/linux/hid.h
浏览文件 @
b22d8370
...
@@ -512,7 +512,7 @@ struct hid_descriptor {
...
@@ -512,7 +512,7 @@ struct hid_descriptor {
/* Applications from HID Usage Tables 4/8/99 Version 1.1 */
/* Applications from HID Usage Tables 4/8/99 Version 1.1 */
/* We ignore a few input applications that are not widely used */
/* We ignore a few input applications that are not widely used */
#define IS_INPUT_APPLICATION(a) (((a >= 0x00010000) && (a <= 0x00010008)) || (a == 0x00010080) || (a == 0x000c0001))
#define IS_INPUT_APPLICATION(a) (((a >= 0x00010000) && (a <= 0x00010008)) || (a == 0x00010080) || (a == 0x000c0001)
|| (a == 0x000d0002)
)
/* HID core API */
/* HID core API */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录