Ubuntu 如何在Linux上模拟低级扫描码按键?
我的笔记本电脑有一个奇怪的华硕键盘,出于某些原因,它的Ubuntu 如何在Linux上模拟低级扫描码按键?,ubuntu,linux-kernel,keyboard,keyboard-events,custom-keyboard,Ubuntu,Linux Kernel,Keyboard,Keyboard Events,Custom Keyboard,我的笔记本电脑有一个奇怪的华硕键盘,出于某些原因,它的结束键被关闭()。我想修复损坏,让我的Ubuntu Linux将此密钥解释为End 我知道如何使用acpid截获关机,并让它以root用户身份在我想要的按键上发出任何命令 我希望它模拟扫描代码0xe0 0x4f,然后是50毫秒的暂停,然后是0xe0 0xcf 如何在现代笔记本电脑和Linux上通过扫描码模拟低级按键? 我尝试使用以下程序将扫描代码写入端口 /* gcc -O2 -s -Wall -osend_to_keyboard main.
结束
键被关闭
()。我想修复损坏,让我的Ubuntu Linux将此密钥解释为End
我知道如何使用acpid截获关机
,并让它以root用户身份在我想要的按键上发出任何命令
我希望它模拟扫描代码0xe0 0x4f
,然后是50毫秒的暂停,然后是0xe0 0xcf
如何在现代笔记本电脑和Linux上通过扫描码模拟低级按键?
我尝试使用以下程序将扫描代码写入端口
/* gcc -O2 -s -Wall -osend_to_keyboard main.c */
#include <stdlib.h>
#include <unistd.h>
#include <sys/io.h>
int main(int argc, char *argv[]) {
int i;
ioperm(0x60, 3, 1);
for (i = 1; i < argc; i++) {
int x = strtol(argv[i], 0, 16);
usleep(300);
outb(x, 0x60);
}
return 0;
}
/*gcc-O2-s-Wall-osend\u to\u keyboard main.c*/
#包括
#包括
#包括
int main(int argc,char*argv[]){
int i;
ioperm(0x60,3,1);
对于(i=1;i
但什么也没发生。也许代码对我的键盘不起作用。我从未在Linux上做过如此低级的事情,所以我缺乏适当的经验
对于那些横向思考的人来说:我不想只使用xdool来模拟X上的按键操作