Compare commits

...

2 commits

Author SHA1 Message Date
Denis
660f73c26d
fixed arrows and lctrl 2023-12-17 03:12:21 +01:00
Denis
c331a4e139
Avoid fooding with unnecessary messages 2023-12-17 03:05:34 +01:00
2 changed files with 20 additions and 4 deletions

View file

@ -129,6 +129,10 @@ static int asus_kbd_ev_map(
for (size_t i = 0; i < e->ev_count; ++i) {
if (e->ev[i].type == EV_KEY) {
if (e->ev[i].value > 1) {
continue;
}
if (e->ev[i].code == KEY_F14) {
// this is left back paddle, works as expected
const in_message_t current_message = {
@ -283,6 +287,18 @@ static int asus_kbd_ev_map(
}
};
messages[written_msg++] = current_message;
} else if (e->ev[i].code == KEY_LEFTCTRL) {
const in_message_t current_message = {
.type = KEYBOARD_SET_ELEMENT,
.data = {
.kbd_set = {
.type = KEYBOARD_KEY_LCRTL,
.value = e->ev[i].value
}
}
};
messages[written_msg++] = current_message;
} else if (e->ev[i].code == KEY_Q) {
const in_message_t current_message = {

View file

@ -445,7 +445,7 @@ int virt_kbd_send(virt_kbd_t *const kbd, keyboard_status_t *const status, struct
}
if (status->up != kbd->prev_up) {
tmp_ev.code = KEYBOARD_KEY_UP;
tmp_ev.code = KEY_LEFTCTRL;
tmp_ev.value = kbd->prev_up = status->up;
if (write(kbd->fd, &tmp_ev, sizeof(tmp_ev)) != sizeof(struct input_event)) {
res = errno < 0 ? errno : -1 * errno;
@ -454,7 +454,7 @@ int virt_kbd_send(virt_kbd_t *const kbd, keyboard_status_t *const status, struct
}
if (status->down != kbd->prev_down) {
tmp_ev.code = KEYBOARD_KEY_DOWN;
tmp_ev.code = KEY_DOWN;
tmp_ev.value = kbd->prev_down = status->down;
if (write(kbd->fd, &tmp_ev, sizeof(tmp_ev)) != sizeof(struct input_event)) {
res = errno < 0 ? errno : -1 * errno;
@ -463,7 +463,7 @@ int virt_kbd_send(virt_kbd_t *const kbd, keyboard_status_t *const status, struct
}
if (status->left != kbd->prev_left) {
tmp_ev.code = KEYBOARD_KEY_LEFT;
tmp_ev.code = KEY_LEFT;
tmp_ev.value = kbd->prev_left = status->left;
if (write(kbd->fd, &tmp_ev, sizeof(tmp_ev)) != sizeof(struct input_event)) {
res = errno < 0 ? errno : -1 * errno;
@ -472,7 +472,7 @@ int virt_kbd_send(virt_kbd_t *const kbd, keyboard_status_t *const status, struct
}
if (status->right != kbd->prev_right) {
tmp_ev.code = KEYBOARD_KEY_RIGHT;
tmp_ev.code = KEY_RIGHT;
tmp_ev.value = kbd->prev_right = status->right;
if (write(kbd->fd, &tmp_ev, sizeof(tmp_ev)) != sizeof(struct input_event)) {
res = errno < 0 ? errno : -1 * errno;