diff options
author | Julian T <julian@jtle.dk> | 2023-02-06 22:37:59 +0100 |
---|---|---|
committer | Julian T <julian@jtle.dk> | 2023-02-06 22:37:59 +0100 |
commit | 35cab3cb5a1ce92cec602226cd0c9deb8925de37 (patch) | |
tree | ba01563e0231066014b4ac2b254f5e64377a8d7a /intcp/resc | |
parent | abd0c868c2f11b0e3b6e4c1a4e884b2800932f6d (diff) |
Create auto run stuff
Diffstat (limited to 'intcp/resc')
-rw-r--r-- | intcp/resc/intcp/main.c | 27 | ||||
-rw-r--r-- | intcp/resc/intcp/udevmon.yaml | 4 | ||||
-rwxr-xr-x | intcp/resc/run/00-intcp | 9 |
3 files changed, 40 insertions, 0 deletions
diff --git a/intcp/resc/intcp/main.c b/intcp/resc/intcp/main.c new file mode 100644 index 0000000..383ef5b --- /dev/null +++ b/intcp/resc/intcp/main.c @@ -0,0 +1,27 @@ +#include <stdio.h> +#include <stdlib.h> +#include <linux/input.h> + +int main(void) { + setbuf(stdin, NULL); setbuf(stdout, NULL); + + struct input_event event; + while (fread(&event, sizeof(event), 1, stdin)) { + if (event.type == EV_KEY) { + switch (event.code) { + case KEY_CAPSLOCK: + event.code = KEY_LEFTCTRL; + break; + case KEY_LEFTALT: + event.code = KEY_LEFTMETA; + break; + case KEY_102ND: + event.code = KEY_LEFTALT; + break; + } + } + + fwrite(&event, sizeof(event), 1, stdout); + } +} + diff --git a/intcp/resc/intcp/udevmon.yaml b/intcp/resc/intcp/udevmon.yaml new file mode 100644 index 0000000..3733456 --- /dev/null +++ b/intcp/resc/intcp/udevmon.yaml @@ -0,0 +1,4 @@ +- JOB: "intercept -g $DEVNODE | /home/julian/intcp/intcp | uinput -d $DEVNODE" + DEVICE: + EVENTS: + EV_KEY: [ KEY_CAPSLOCK, KEY_LEFTALT, KEY_102ND ] diff --git a/intcp/resc/run/00-intcp b/intcp/resc/run/00-intcp new file mode 100755 index 0000000..eac7900 --- /dev/null +++ b/intcp/resc/run/00-intcp @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -e +set -x +echo Running intcp + +cd ~/resc/intcp + +gcc main.c -o intcp +sudo cp udevmon.yaml /etc/interception/udevmon.yaml |