core: Avoid interpreting remapped keys as part of a panic sequence (#929)

master
Raheman Vaiya 1 year ago
parent 5068b1ead6
commit 48f959ec61
  1. 12
      src/evloop.c

@ -90,24 +90,26 @@ int evloop(int (*event_handler) (struct event *ev))
for (i = 0; i < device_table_sz; i++) {
if (pfds[i+1].revents) {
struct device_event *devev;
struct device *dev = &device_table[i];
while ((devev = device_read_event(&device_table[i]))) {
while ((devev = device_read_event(dev))) {
if (devev->type == DEV_REMOVED) {
ev.type = EV_DEV_REMOVE;
ev.dev = &device_table[i];
ev.dev = dev;
timeout = event_handler(&ev);
device_table[i].fd = -1;
dev->fd = -1;
removed = 1;
break;
} else {
//Handle device event
panic_check(devev->code, devev->pressed);
if (!dev->is_virtual)
panic_check(devev->code, devev->pressed);
ev.type = EV_DEV_EVENT;
ev.devev = devev;
ev.dev = &device_table[i];
ev.dev = dev;
timeout = event_handler(&ev);
}

Loading…
Cancel
Save