HID鼠标位置Linux内核源代码 [英] HID Mouse position Linux Kernel Source Code
问题描述
我应该使用哪个linux内核模块来处理这些事件?然后将这些事件(x,y)传递给输入子系统。
模块可以是
$ ul $ b
hid-core.c / usbhid
hid-quirks.c或
hiddev.c
我拥有所有的内核源代码,我的内核。
输出:lsmod | grep hid
myusbhid ------------------ 35712 ---------- 0 p>
hid ------------------ 50560 ----------- 1 myusbhid
usbcore ------------------- 149488 ----------- 4 myusbhid,uhci_hcd,ehci_hcd
原因是,我试图修改我的HID鼠标坐标,意思是我希望我的光标位置在我提到的位置移动,而不是默认的鼠标位置。
谢谢
HID键盘/鼠标/游戏杆事件可以在内核级监视/更改
获取内核源文件你的内核版本。
http://lxr.linux.no/linux+v2.6.27.14/drivers/
用于HID(hid.o)linux内核MODU le,将源文件重命名为
my-hiddraw.c
*
我的-hid-core.c
*
my-hid-input.c
*
my-hid -input-quirk.c
Makefile: b
obj-m:= myhid.o
myhid-objs:= my-hiddraw.o my-hid-core.o my- hid-input.o my-hid-input-quirk.o
KDIR:= / lib / modules / $(shell uname -r)/ build
$ b
PWD:= $(shell pwd)
默认值:
$(MAKE)-C $(KDIR)M = $(PWD)modules
strong>
$ sudo rmmod usbhid; sudo rmmod hid; sudo insmod myhid.ko; sudo insmod / [MODULE PATH] /usbhid.ko
************************ ************************************************** * b
$ b hid-input.c可以将事件发送到输入子系统/ hiddev.c。
有关参考资料,请参阅Linux hiddev.txt和input.txt。在hid-input.c中,hidinput _ hid _ event()负责发送事件
- void hidinput _ hid _ event(struct
hid _ device * hid,struct hid _ field
*结构hid_usage *用法,__s32值)
在输入_事件(输入,用法 - >类型,用法 - > code,value);
printk(\ n hidinput _ hid _ event%i,%i,%i,usage-> type,usage- > code,value);
获取/修改这些值并将其传递给输入_事件()
************************************************** *************************
问候
mmadni [AT] gmail [DOT] com
I want to work on HID Mouse events.
Which linux kernel module shall I work on to handle the events? And then pass those events (x,y) to input subsystem.
The modules can be
hid-core.c / usbhid
hid-quirks.c or
hiddev.c
I have all the kernel source code and am able to add in my kernel.
Output: lsmod | grep hid
myusbhid ------------------ 35712 ----------0
hid ------------------ 50560 -----------1 myusbhid
usbcore -------------------149488 -----------4 myusbhid,uhci_hcd,ehci_hcd
Reason is, I am trying to modify my HID Mouse coordinates, means I want my cursor location to move in my mentiond position not as a default mouse locations.
Thanks
解决方案 The hid.c was available in kernel 2.4.9 and older versions, but is now splited in multiple files
The HID keyboard / mouse/ joysticks events can be monitored / change at kernel level
Get the kernel source file of your kernel version.
http://lxr.linux.no/linux+v2.6.27.14/drivers/
for HID (hid.o) linux kernel module, rename the source files as
my-hiddraw.c
*
my-hid-core.c
*
my-hid-input.c
*
my-hid-input-quirk.c
Makefile:
obj-m := myhid.o
myhid-objs := my-hiddraw.o my-hid-core.o my-hid-input.o my-hid-input-quirk.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules
Add module in kernel as
$ sudo rmmod usbhid; sudo rmmod hid; sudo insmod myhid.ko; sudo insmod /[MODULE PATH]/usbhid.ko
***************************************************************************
The hid-input.c is responsiable to send the events to input subsystem / hiddev.c
For reference look at the documentation Linux hiddev.txt and input.txt
In hid-input.c the hidinput _ hid _ event () is responsiable to send the events
- void hidinput _ hid _ event(struct
hid _ device *hid, struct hid _ field
*field, struct hid_usage *usage, __s32 value)
Use at the end of function before input _ event (input, usage->type, usage->code, value);
printk("\n hidinput _ hid _ event %i, %i, %i",usage->type, usage->code, value);
Get/Modify those values and pass it to input _ events ()
***************************************************************************
Regards
mmadni[AT]gmail[DOT]com
这篇关于HID鼠标位置Linux内核源代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
有关参考资料,请参阅Linux hiddev.txt和input.txt。在hid-input.c中,hidinput _ hid _ event()负责发送事件 在输入_事件(输入,用法 - >类型,用法 - > code,value); 获取/修改这些值并将其传递给输入_事件() 问候 I want to work on HID Mouse events. Which linux kernel module shall I work on to handle the events? And then pass those events (x,y) to input subsystem. The modules can be hid-core.c / usbhid hid-quirks.c or hiddev.c I have all the kernel source code and am able to add in my kernel. Output: lsmod | grep hid myusbhid ------------------ 35712 ----------0 hid ------------------ 50560 -----------1 myusbhid usbcore -------------------149488 -----------4 myusbhid,uhci_hcd,ehci_hcd Reason is, I am trying to modify my HID Mouse coordinates, means I want my cursor location to move in my mentiond position not as a default mouse locations. Thanks The hid.c was available in kernel 2.4.9 and older versions, but is now splited in multiple files The HID keyboard / mouse/ joysticks events can be monitored / change at kernel level
Get the kernel source file of your kernel version. http://lxr.linux.no/linux+v2.6.27.14/drivers/ for HID (hid.o) linux kernel module, rename the source files as Makefile: obj-m := myhid.o myhid-objs := my-hiddraw.o my-hid-core.o my-hid-input.o my-hid-input-quirk.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) M=$(PWD) modules Add module in kernel as $ sudo rmmod usbhid; sudo rmmod hid; sudo insmod myhid.ko; sudo insmod /[MODULE PATH]/usbhid.ko The hid-input.c is responsiable to send the events to input subsystem / hiddev.c For reference look at the documentation Linux hiddev.txt and input.txt In hid-input.c the hidinput _ hid _ event () is responsiable to send the events Use at the end of function before input _ event (input, usage->type, usage->code, value); printk("\n hidinput _ hid _ event %i, %i, %i",usage->type, usage->code, value); Get/Modify those values and pass it to input _ events () Regards mmadni[AT]gmail[DOT]com 这篇关于HID鼠标位置Linux内核源代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
hid _ device * hid,struct hid _ field
*结构hid_usage *用法,__s32值)
printk(\ n hidinput _ hid _ event%i,%i,%i,usage-> type,usage- > code,value);
************************************************** *************************
my-hiddraw.c
*
my-hid-core.c
*
my-hid-input.c
*
my-hid-input-quirk.c
***************************************************************************
***************************************************************************