shithub: snippets

Download patch

ref: 909d29b906e31a14522bcd843743e742ef7a388a
parent: bd75d8270da313ccbfd06d25799d346803a623bd
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Wed Feb 28 10:57:06 EST 2024

remove shortcuts, reform/shortcuts ships with 9front

--- a/README.md
+++ b/README.md
@@ -12,7 +12,6 @@
 * `msr.c` MSR reading tool
 * `nanosec.c` nanosec(), a replacement for (way more expensive) nsec()
 * `qt.[ch]` [QP tries](https://dotat.at/prog/qp/README.html)
-* `shortcuts.c` Brightness and volume control using keyboard shortcuts on MNT Reform 2
 * `xml.[ch]` XML parser, works as a streaming parser as well
 
 * `clear` removes all program output from the terminal, leaving only commands used
--- a/shortcuts.c
+++ /dev/null
@@ -1,111 +1,0 @@
-/*
- * install: 7c -FTVw shortcuts.c && 7o -o /arm64/bin/reform/shortcuts shortcuts.7
- * in rio: reform/shortcuts </dev/kbdtap >/dev/kbdtap
- * Kmod4+F1/F2 - brightness
- * Kmod4+F3/F4 - volume
- */
-#include <u.h>
-#include <libc.h>
-#include <keyboard.h>
-
-static int lightstep = 5, volstep = 3;
-static int light, vol, mod;
-
-static void
-process(char *s)
-{
-	char b[128], *p;
-	int n, o;
-	Rune r;
-
-	if(*s == 'K' && s[1] == 0)
-		mod = 0;
-
-	o = 0;
-	b[o++] = *s;
-	for(p = s+1; *p != 0; p += n){
-		if((n = chartorune(&r, p)) == 1 && r == Runeerror){
-			/* bail out */
-			n = strlen(p);
-			memmove(b+o, p, n);
-			o += n;
-			p += n;
-			break;
-		}
-
-		if(*s == 'k' && r == Kmod4){
-			mod = 1;
-		}else if(*s == 'K'){
-			if(mod && r >= (KF|1) && r <= (KF|4))
-				continue;
-			if(r == Kmod4)
-				mod = 0;
-		}else if(mod && r >= (KF|1) && r <= (KF|4)){
-			if(*s == 'c'){
-				if(r == (KF|1))
-					fprint(light, "lcd -%d", lightstep);
-				else if(r == (KF|2))
-					fprint(light, "lcd +%d", lightstep);
-				else if(r == (KF|3))
-					fprint(vol, "master -%d", volstep);
-				else if(r == (KF|4))
-					fprint(vol, "master +%d", volstep);
-			}
-			continue;
-			}
-
-		memmove(b+o, p, n);
-		o += n;
-	}
-
-	/* all runes filtered out - ignore completely */
-	if(o == 1 && p-s > 1)
-		return;
-
-	b[o++] = 0;
-	if(write(1, b, o) != o)
-		exits(nil);
-}
-
-static void
-usage(void)
-{
-	fprint(2, "usage: [-l light_step] [-v vol_step] %s\n", argv0);
-	exits("usage");
-}
-
-void
-main(int argc, char **argv)
-{
-	char b[128];
-	int i, j, n;
-
-	ARGBEGIN{
-	case 'l':
-		lightstep = atoi(EARGF(usage()));
-		break;
-	case 'v':
-		volstep = atoi(EARGF(usage()));
-		break;
-	default:
-		usage();
-	}ARGEND
-
-	light = open("/dev/light", OWRITE);
-	vol = open("/dev/volume", OWRITE);
-	for(i = 0;;){
-		if((n = read(0, b+i, sizeof(b)-i)) <= 0)
-			break;
-		n += i;
-		for(j = 0; j < n; j++){
-			if(b[j] == 0){
-				process(b+i);
-				i = j+1;
-			}
-		}
-		memmove(b, b+i, j-i);
-		i -= j;
-	}
-
-	exits(nil);
-}