summaryrefslogtreecommitdiff
path: root/intcp/resc
diff options
context:
space:
mode:
authorJulian T <julian@jtle.dk>2023-02-06 22:37:59 +0100
committerJulian T <julian@jtle.dk>2023-02-06 22:37:59 +0100
commit35cab3cb5a1ce92cec602226cd0c9deb8925de37 (patch)
treeba01563e0231066014b4ac2b254f5e64377a8d7a /intcp/resc
parentabd0c868c2f11b0e3b6e4c1a4e884b2800932f6d (diff)
Create auto run stuff
Diffstat (limited to 'intcp/resc')
-rw-r--r--intcp/resc/intcp/main.c27
-rw-r--r--intcp/resc/intcp/udevmon.yaml4
-rwxr-xr-xintcp/resc/run/00-intcp9
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