Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
bda3c85a
K
Kernel
项目概览
openeuler
/
Kernel
大约 2 年 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
bda3c85a
编写于
3月 23, 2022
作者:
J
Jiri Kosina
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-5.18/sigma-micro' into for-linus
- driver for SiGma Micro keyboards (Desmond Lim)
上级
1fe30b49
97673404
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
142 addition
and
0 deletion
+142
-0
drivers/hid/Kconfig
drivers/hid/Kconfig
+10
-0
drivers/hid/Makefile
drivers/hid/Makefile
+1
-0
drivers/hid/hid-ids.h
drivers/hid/hid-ids.h
+1
-0
drivers/hid/hid-sigmamicro.c
drivers/hid/hid-sigmamicro.c
+130
-0
未找到文件。
drivers/hid/Kconfig
浏览文件 @
bda3c85a
...
...
@@ -993,6 +993,16 @@ config HID_SEMITEK
- Woo-dy
- X-Bows Nature/Knight
config HID_SIGMAMICRO
tristate "SiGma Micro-based keyboards"
depends on USB_HID
help
Support for keyboards that use the SiGma Micro (a.k.a SigmaChip) IC.
Supported devices:
- Landslides KR-700
- Rapoo V500
config HID_SONY
tristate "Sony PS2/3/4 accessories"
depends on USB_HID
...
...
drivers/hid/Makefile
浏览文件 @
bda3c85a
...
...
@@ -110,6 +110,7 @@ obj-$(CONFIG_HID_RMI) += hid-rmi.o
obj-$(CONFIG_HID_SAITEK)
+=
hid-saitek.o
obj-$(CONFIG_HID_SAMSUNG)
+=
hid-samsung.o
obj-$(CONFIG_HID_SEMITEK)
+=
hid-semitek.o
obj-$(CONFIG_HID_SIGMAMICRO)
+=
hid-sigmamicro.o
obj-$(CONFIG_HID_SMARTJOYPLUS)
+=
hid-sjoy.o
obj-$(CONFIG_HID_SONY)
+=
hid-sony.o
obj-$(CONFIG_HID_SPEEDLINK)
+=
hid-speedlink.o
...
...
drivers/hid/hid-ids.h
浏览文件 @
bda3c85a
...
...
@@ -1103,6 +1103,7 @@
#define USB_VENDOR_ID_SIGMA_MICRO 0x1c4f
#define USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD 0x0002
#define USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD2 0x0059
#define USB_VENDOR_ID_SIGMATEL 0x066F
#define USB_DEVICE_ID_SIGMATEL_STMP3780 0x3780
...
...
drivers/hid/hid-sigmamicro.c
0 → 100644
浏览文件 @
bda3c85a
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* HID driver for SiGma Micro-based keyboards
*
* Copyright (c) 2016 Kinglong Mee
* Copyright (c) 2021 Desmond Lim
*/
#include <linux/device.h>
#include <linux/hid.h>
#include <linux/module.h>
#include "hid-ids.h"
static
const
__u8
sm_0059_rdesc
[]
=
{
0x05
,
0x0c
,
/* Usage Page (Consumer Devices) 0 */
0x09
,
0x01
,
/* Usage (Consumer Control) 2 */
0xa1
,
0x01
,
/* Collection (Application) 4 */
0x85
,
0x01
,
/* Report ID (1) 6 */
0x19
,
0x00
,
/* Usage Minimum (0) 8 */
0x2a
,
0x3c
,
0x02
,
/* Usage Maximum (572) 10 */
0x15
,
0x00
,
/* Logical Minimum (0) 13 */
0x26
,
0x3c
,
0x02
,
/* Logical Maximum (572) 15 */
0x95
,
0x01
,
/* Report Count (1) 18 */
0x75
,
0x10
,
/* Report Size (16) 20 */
0x81
,
0x00
,
/* Input (Data,Arr,Abs) 22 */
0xc0
,
/* End Collection 24 */
0x05
,
0x01
,
/* Usage Page (Generic Desktop) 25 */
0x09
,
0x80
,
/* Usage (System Control) 27 */
0xa1
,
0x01
,
/* Collection (Application) 29 */
0x85
,
0x02
,
/* Report ID (2) 31 */
0x19
,
0x81
,
/* Usage Minimum (129) 33 */
0x29
,
0x83
,
/* Usage Maximum (131) 35 */
0x25
,
0x01
,
/* Logical Maximum (1) 37 */
0x75
,
0x01
,
/* Report Size (1) 39 */
0x95
,
0x03
,
/* Report Count (3) 41 */
0x81
,
0x02
,
/* Input (Data,Var,Abs) 43 */
0x95
,
0x05
,
/* Report Count (5) 45 */
0x81
,
0x01
,
/* Input (Cnst,Arr,Abs) 47 */
0xc0
,
/* End Collection 49 */
0x06
,
0x00
,
0xff
,
/* Usage Page (Vendor Defined Page 1) 50 */
0x09
,
0x01
,
/* Usage (Vendor Usage 1) 53 */
0xa1
,
0x01
,
/* Collection (Application) 55 */
0x85
,
0x03
,
/* Report ID (3) 57 */
0x1a
,
0xf1
,
0x00
,
/* Usage Minimum (241) 59 */
0x2a
,
0xf8
,
0x00
,
/* Usage Maximum (248) 62 */
0x15
,
0x00
,
/* Logical Minimum (0) 65 */
0x25
,
0x01
,
/* Logical Maximum (1) 67 */
0x75
,
0x01
,
/* Report Size (1) 69 */
0x95
,
0x08
,
/* Report Count (8) 71 */
0x81
,
0x02
,
/* Input (Data,Var,Abs) 73 */
0xc0
,
/* End Collection 75 */
0x05
,
0x01
,
/* Usage Page (Generic Desktop) 76 */
0x09
,
0x06
,
/* Usage (Keyboard) 78 */
0xa1
,
0x01
,
/* Collection (Application) 80 */
0x85
,
0x04
,
/* Report ID (4) 82 */
0x05
,
0x07
,
/* Usage Page (Keyboard) 84 */
0x19
,
0xe0
,
/* Usage Minimum (224) 86 */
0x29
,
0xe7
,
/* Usage Maximum (231) 88 */
0x15
,
0x00
,
/* Logical Minimum (0) 90 */
0x25
,
0x01
,
/* Logical Maximum (1) 92 */
0x75
,
0x01
,
/* Report Size (1) 94 */
0x95
,
0x08
,
/* Report Count (8) 96 */
0x81
,
0x00
,
/* Input (Data,Arr,Abs) 98 */
0x95
,
0x30
,
/* Report Count (48) 100 */
0x75
,
0x01
,
/* Report Size (1) 102 */
0x15
,
0x00
,
/* Logical Minimum (0) 104 */
0x25
,
0x01
,
/* Logical Maximum (1) 106 */
0x05
,
0x07
,
/* Usage Page (Keyboard) 108 */
0x19
,
0x00
,
/* Usage Minimum (0) 110 */
0x29
,
0x2f
,
/* Usage Maximum (47) 112 */
0x81
,
0x02
,
/* Input (Data,Var,Abs) 114 */
0xc0
,
/* End Collection 116 */
0x05
,
0x01
,
/* Usage Page (Generic Desktop) 117 */
0x09
,
0x06
,
/* Usage (Keyboard) 119 */
0xa1
,
0x01
,
/* Collection (Application) 121 */
0x85
,
0x05
,
/* Report ID (5) 123 */
0x95
,
0x38
,
/* Report Count (56) 125 */
0x75
,
0x01
,
/* Report Size (1) 127 */
0x15
,
0x00
,
/* Logical Minimum (0) 129 */
0x25
,
0x01
,
/* Logical Maximum (1) 131 */
0x05
,
0x07
,
/* Usage Page (Keyboard) 133 */
0x19
,
0x30
,
/* Usage Minimum (48) 135 */
0x29
,
0x67
,
/* Usage Maximum (103) 137 */
0x81
,
0x02
,
/* Input (Data,Var,Abs) 139 */
0xc0
,
/* End Collection 141 */
0x05
,
0x01
,
/* Usage Page (Generic Desktop) 142 */
0x09
,
0x06
,
/* Usage (Keyboard) 144 */
0xa1
,
0x01
,
/* Collection (Application) 146 */
0x85
,
0x06
,
/* Report ID (6) 148 */
0x95
,
0x38
,
/* Report Count (56) 150 */
0x75
,
0x01
,
/* Report Size (1) 152 */
0x15
,
0x00
,
/* Logical Minimum (0) 154 */
0x25
,
0x01
,
/* Logical Maximum (1) 156 */
0x05
,
0x07
,
/* Usage Page (Keyboard) 158 */
0x19
,
0x68
,
/* Usage Minimum (104) 160 */
0x29
,
0x9f
,
/* Usage Maximum (159) 162 */
0x81
,
0x02
,
/* Input (Data,Var,Abs) 164 */
0xc0
,
/* End Collection 166 */
};
static
__u8
*
sm_report_fixup
(
struct
hid_device
*
hdev
,
__u8
*
rdesc
,
unsigned
int
*
rsize
)
{
if
(
*
rsize
==
sizeof
(
sm_0059_rdesc
)
&&
!
memcmp
(
sm_0059_rdesc
,
rdesc
,
*
rsize
))
{
hid_info
(
hdev
,
"Fixing up SiGma Micro report descriptor
\n
"
);
rdesc
[
99
]
=
0x02
;
}
return
rdesc
;
}
static
const
struct
hid_device_id
sm_devices
[]
=
{
{
HID_USB_DEVICE
(
USB_VENDOR_ID_SIGMA_MICRO
,
USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD2
)
},
{
}
};
MODULE_DEVICE_TABLE
(
hid
,
sm_devices
);
static
struct
hid_driver
sm_driver
=
{
.
name
=
"sigmamicro"
,
.
id_table
=
sm_devices
,
.
report_fixup
=
sm_report_fixup
,
};
module_hid_driver
(
sm_driver
);
MODULE_AUTHOR
(
"Kinglong Mee <kinglongmee@gmail.com>"
);
MODULE_AUTHOR
(
"Desmond Lim <peckishrine@gmail.com>"
);
MODULE_DESCRIPTION
(
"SiGma Micro HID driver"
);
MODULE_LICENSE
(
"GPL"
);
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录