这是代码的一部分:
extra_btn_fd = open(“/ dev / input / by-id / usb-Razer_Razer_Naga_2014-event-mouse”,O_RDONLY);
ioctl(extra_btn_fd,EVIOCGRAB,1);问题是它可以控制……
通过在按钮映射中包含2个按钮来解决xinput,如下所示:
xinput set-button-map $NAGAID2 1 2 3 4 5 6 7 11 10 8 9 13 14 15 275 276
您必须在代码中过滤事件。例如,如下所示
while(1) { struct input_event event; read(extra_btn_fd, &event, sizeof(event)); if (event.type == EV_KEY && (event.code == BTN_FORWARD || event.code == BTN_BACK) { printf("%d %d\n", event.type, event.code); } }