ref: c5f79f5371b3735ac4498343182fb9596b7809fe
parent: b38a3d2a0d0f2022bab40eec4975179daa0ceee1
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Thu Oct 6 15:56:01 EDT 2022
reform/shortcuts: use media keys for LCD brightness control
--- a/sys/man/1/reform
+++ b/sys/man/1/reform
@@ -145,23 +145,21 @@
reform/shortcuts </dev/kbdtap >/dev/kbdtap
.EE
.PP
-.I Super+F1/F2
+.I Hyper+F1/F2
decreases/increases LCD brightness,
.I Hyper+F7/F8/F9
skips to the previous track, (un)pauses or skips to the next track in
.IR zuke (1),
-.I Hyper+F11/F12
-decreases/increases "master" volume,
.I Hyper+F10
-(un)mutes the audio.
-Optionally, a single step amount can be set with
+(un)mutes the audio,
+.I Hyper+F11/F12
+decreases/increases "master" volume. Optionally, a single step amount
+can be set with
.I -l
for LCD light level (default is 5) and
.I -v
for volume (default is 3). Values can be negative to essentially swap
-.I F1
-with
-.IR F2 .
+the decrement and increment keys.
.SH SOURCE
.B /sys/src/cmd/reform
.SH SEE ALSO
--- a/sys/src/cmd/reform/shortcuts.c
+++ b/sys/src/cmd/reform/shortcuts.c
@@ -4,7 +4,7 @@
#include <plumb.h>
static int lightstep = 5, volstep = 3;
-static int light, vol, actl, mod;
+static int light, vol, actl;
static void
aplumb(char *s)
@@ -12,11 +12,8 @@
int f;
if((f = plumbopen("send", OWRITE)) >= 0){
- if(plumbsendtext(f, "shortcuts", "audio", "/", s) < 0)
- fprint(2, "aplumb: %r\n");
+ plumbsendtext(f, "shortcuts", "audio", "/", s);
close(f);
- }else{
- fprint(2, "aplumb: %r\n");
}
}
@@ -29,8 +26,6 @@
o = 0;
b[o++] = *s;
- if(*s == 'k' || *s == 'K')
- mod = utfrune(s+1, Kmod4) != nil;
for(p = s+1; *p != 0; p += n){
if((n = chartorune(&r, p)) == 1 && r == Runeerror){
@@ -42,27 +37,25 @@
break;
}
- skip = 0;
- if(*s == 'c'){
- if(mod){
- if(skip |= (r == (KF|1)))
- fprint(light, "lcd %+d", -lightstep);
- else if(skip |= (r == (KF|2)))
- fprint(light, "lcd %+d", lightstep);
- }else{
- if(skip |= (r == Kvoldn))
- fprint(vol, "master %+d", -volstep);
- else if(skip |= (r == Kvolup))
- fprint(vol, "master %+d", volstep);
- else if(skip |= (r == Kmute))
- fprint(actl, "master toggle");
- else if(skip |= (r == Ksbwd))
- aplumb("key <");
- else if(skip |= (r == Ksfwd))
- aplumb("key >");
- else if(skip |= (r == Kpause))
- aplumb("key p");
- }
+ if(skip = (*s == 'c')){
+ if(r == Kbrtdn)
+ fprint(light, "lcd %+d", -lightstep);
+ else if(r == Kbrtup)
+ fprint(light, "lcd %+d", lightstep);
+ else if(r == Kvoldn)
+ fprint(vol, "master %+d", -volstep);
+ else if(r == Kvolup)
+ fprint(vol, "master %+d", volstep);
+ else if(r == Kmute)
+ fprint(actl, "master toggle");
+ else if(r == Ksbwd)
+ aplumb("key <");
+ else if(r == Ksfwd)
+ aplumb("key >");
+ else if(r == Kpause)
+ aplumb("key p");
+ else
+ skip = 0;
}
if(!skip){