Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
95866f7df0 | ||
|
|
aaa949cc2a | ||
|
|
ed2b7b7cb9 |
@@ -1,6 +1,6 @@
|
|||||||
export DEBUG=1
|
export DEBUG=true
|
||||||
export RAW_UDP=17070
|
export RAW_UDP=17070
|
||||||
|
export BUTTON_PARSER_V01=true
|
||||||
export WRAP_REFRESH_ON_SIGUSR1=true
|
export WRAP_REFRESH_ON_SIGUSR1=true
|
||||||
export WRAP_REMAP_FILE=./config.d/mayhem-party.d/remap.d/live.yaml
|
|
||||||
export MAIN_INTERVAL_DURATION=5ms
|
export MAIN_INTERVAL_DURATION=5ms
|
||||||
export OUTPUT_KEYBOARD=false
|
export OUTPUT_KEYBOARD=false
|
||||||
|
|||||||
@@ -4,21 +4,23 @@ streams:
|
|||||||
engine:
|
engine:
|
||||||
name: gui
|
name: gui
|
||||||
gui:
|
gui:
|
||||||
|
user: bel
|
||||||
press: {prefix: "", suffix: ""}
|
press: {prefix: "", suffix: ""}
|
||||||
release: {prefix: "!", suffix: ""}
|
release: {prefix: "", suffix: ""}
|
||||||
|
format: '{"T":{{ms}},"U":"{{user}}","Y":"{{pressed}}","N":"{{released}}"}'
|
||||||
buttons:
|
buttons:
|
||||||
up: '1'
|
up: 'w'
|
||||||
down: '2'
|
down: 's'
|
||||||
left: '3'
|
left: 'a'
|
||||||
right: '4'
|
right: 'd'
|
||||||
l: '5'
|
l: 'e'
|
||||||
r: '6'
|
r: 'q'
|
||||||
a: '7'
|
a: '1'
|
||||||
b: '8'
|
b: '2'
|
||||||
x: '9'
|
x: '3'
|
||||||
y: '0'
|
y: '4'
|
||||||
output:
|
output:
|
||||||
debug: false
|
debug: true
|
||||||
engine:
|
engine:
|
||||||
name: udp
|
name: udp
|
||||||
udp:
|
udp:
|
||||||
|
|||||||
@@ -4,21 +4,23 @@ streams:
|
|||||||
engine:
|
engine:
|
||||||
name: gui
|
name: gui
|
||||||
gui:
|
gui:
|
||||||
|
user: zach
|
||||||
press: {prefix: "", suffix: ""}
|
press: {prefix: "", suffix: ""}
|
||||||
release: {prefix: "!", suffix: ""}
|
release: {prefix: "", suffix: ""}
|
||||||
|
format: '{"T":{{ms}},"U":"{{user}}","Y":"{{pressed}}","N":"{{released}}"}'
|
||||||
buttons:
|
buttons:
|
||||||
up: 'q'
|
up: 'w'
|
||||||
down: 'w'
|
down: 's'
|
||||||
left: 'e'
|
left: 'a'
|
||||||
right: 'r'
|
right: 'd'
|
||||||
l: 't'
|
l: 'e'
|
||||||
r: 'y'
|
r: 'q'
|
||||||
a: 'u'
|
a: '1'
|
||||||
b: 'i'
|
b: '2'
|
||||||
x: 'o'
|
x: '3'
|
||||||
y: 'p'
|
y: '4'
|
||||||
output:
|
output:
|
||||||
debug: false
|
debug: true
|
||||||
engine:
|
engine:
|
||||||
name: udp
|
name: udp
|
||||||
udp:
|
udp:
|
||||||
|
|||||||
@@ -4,21 +4,23 @@ streams:
|
|||||||
engine:
|
engine:
|
||||||
name: gui
|
name: gui
|
||||||
gui:
|
gui:
|
||||||
|
user: mason
|
||||||
press: {prefix: "", suffix: ""}
|
press: {prefix: "", suffix: ""}
|
||||||
release: {prefix: "!", suffix: ""}
|
release: {prefix: "", suffix: ""}
|
||||||
|
format: '{"T":{{ms}},"U":"{{user}}","Y":"{{pressed}}","N":"{{released}}"}'
|
||||||
buttons:
|
buttons:
|
||||||
up: 'a'
|
up: 'w'
|
||||||
down: 's'
|
down: 's'
|
||||||
left: 'd'
|
left: 'a'
|
||||||
right: 'f'
|
right: 'd'
|
||||||
l: 'g'
|
l: 'e'
|
||||||
r: 'h'
|
r: 'q'
|
||||||
a: 'j'
|
a: '1'
|
||||||
b: 'k'
|
b: '2'
|
||||||
x: 'l'
|
x: '3'
|
||||||
y: ';'
|
y: '4'
|
||||||
output:
|
output:
|
||||||
debug: false
|
debug: true
|
||||||
engine:
|
engine:
|
||||||
name: udp
|
name: udp
|
||||||
udp:
|
udp:
|
||||||
|
|||||||
@@ -4,21 +4,23 @@ streams:
|
|||||||
engine:
|
engine:
|
||||||
name: gui
|
name: gui
|
||||||
gui:
|
gui:
|
||||||
|
user: nat
|
||||||
press: {prefix: "", suffix: ""}
|
press: {prefix: "", suffix: ""}
|
||||||
release: {prefix: "!", suffix: ""}
|
release: {prefix: "", suffix: ""}
|
||||||
|
format: '{"T":{{ms}},"U":"{{user}}","Y":"{{pressed}}","N":"{{released}}"}'
|
||||||
buttons:
|
buttons:
|
||||||
up: 'z'
|
up: 'w'
|
||||||
down: 'x'
|
down: 's'
|
||||||
left: 'c'
|
left: 'a'
|
||||||
right: 'v'
|
right: 'd'
|
||||||
l: 'b'
|
l: 'e'
|
||||||
r: 'n'
|
r: 'q'
|
||||||
a: 'm'
|
a: '1'
|
||||||
b: ','
|
b: '2'
|
||||||
x: '-'
|
x: '3'
|
||||||
y: '/'
|
y: '4'
|
||||||
output:
|
output:
|
||||||
debug: false
|
debug: true
|
||||||
engine:
|
engine:
|
||||||
name: udp
|
name: udp
|
||||||
udp:
|
udp:
|
||||||
|
|||||||
@@ -4,21 +4,23 @@ streams:
|
|||||||
engine:
|
engine:
|
||||||
name: gui
|
name: gui
|
||||||
gui:
|
gui:
|
||||||
|
user: roxy
|
||||||
press: {prefix: "", suffix: ""}
|
press: {prefix: "", suffix: ""}
|
||||||
release: {prefix: "!", suffix: ""}
|
release: {prefix: "", suffix: ""}
|
||||||
|
format: '{"T":{{ms}},"U":"{{user}}","Y":"{{pressed}}","N":"{{released}}"}'
|
||||||
buttons:
|
buttons:
|
||||||
up: '!'
|
up: 'w'
|
||||||
down: '@'
|
down: 's'
|
||||||
left: '#'
|
left: 'a'
|
||||||
right: '$'
|
right: 'd'
|
||||||
l: '%'
|
l: 'e'
|
||||||
r: '^'
|
r: 'q'
|
||||||
a: '&'
|
a: '1'
|
||||||
b: '*'
|
b: '2'
|
||||||
x: '('
|
x: '3'
|
||||||
y: ')'
|
y: '4'
|
||||||
output:
|
output:
|
||||||
debug: false
|
debug: true
|
||||||
engine:
|
engine:
|
||||||
name: udp
|
name: udp
|
||||||
udp:
|
udp:
|
||||||
|
|||||||
28
host.d/config.d/rusty-pipe.d/6.yaml
Normal file
28
host.d/config.d/rusty-pipe.d/6.yaml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
streams:
|
||||||
|
input:
|
||||||
|
debug: false
|
||||||
|
engine:
|
||||||
|
name: gui
|
||||||
|
gui:
|
||||||
|
user: chase
|
||||||
|
press: {prefix: "", suffix: ""}
|
||||||
|
release: {prefix: "", suffix: ""}
|
||||||
|
format: '{"T":{{ms}},"U":"{{user}}","Y":"{{pressed}}","N":"{{released}}"}'
|
||||||
|
buttons:
|
||||||
|
up: 'w'
|
||||||
|
down: 's'
|
||||||
|
left: 'a'
|
||||||
|
right: 'd'
|
||||||
|
l: 'e'
|
||||||
|
r: 'q'
|
||||||
|
a: '1'
|
||||||
|
b: '2'
|
||||||
|
x: '3'
|
||||||
|
y: '4'
|
||||||
|
output:
|
||||||
|
debug: true
|
||||||
|
engine:
|
||||||
|
name: udp
|
||||||
|
udp:
|
||||||
|
host: mayhem-party.home.blapointe.com
|
||||||
|
port: 17070
|
||||||
28
host.d/config.d/rusty-pipe.d/7.yaml
Normal file
28
host.d/config.d/rusty-pipe.d/7.yaml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
streams:
|
||||||
|
input:
|
||||||
|
debug: false
|
||||||
|
engine:
|
||||||
|
name: gui
|
||||||
|
gui:
|
||||||
|
user: bill
|
||||||
|
press: {prefix: "", suffix: ""}
|
||||||
|
release: {prefix: "", suffix: ""}
|
||||||
|
format: '{"T":{{ms}},"U":"{{user}}","Y":"{{pressed}}","N":"{{released}}"}'
|
||||||
|
buttons:
|
||||||
|
up: 'w'
|
||||||
|
down: 's'
|
||||||
|
left: 'a'
|
||||||
|
right: 'd'
|
||||||
|
l: 'e'
|
||||||
|
r: 'q'
|
||||||
|
a: '1'
|
||||||
|
b: '2'
|
||||||
|
x: '3'
|
||||||
|
y: '4'
|
||||||
|
output:
|
||||||
|
debug: true
|
||||||
|
engine:
|
||||||
|
name: udp
|
||||||
|
udp:
|
||||||
|
host: mayhem-party.home.blapointe.com
|
||||||
|
port: 17070
|
||||||
@@ -12,8 +12,8 @@ type Parser interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func New(ctx context.Context, src raw.Raw) Parser {
|
func New(ctx context.Context, src raw.Raw) Parser {
|
||||||
if os.Getenv("BUTTON_PARSER_V1") == "true" {
|
if os.Getenv("BUTTON_PARSER_V01") == "true" {
|
||||||
return NewV1(src)
|
return NewV01(src)
|
||||||
}
|
}
|
||||||
return NewPlaintext(src)
|
return NewPlaintext(src)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,5 +7,5 @@ import (
|
|||||||
|
|
||||||
func TestParser(t *testing.T) {
|
func TestParser(t *testing.T) {
|
||||||
var _ button.Parser = button.Plaintext{}
|
var _ button.Parser = button.Plaintext{}
|
||||||
var _ button.Parser = button.V1{}
|
var _ button.Parser = button.V01{}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ import (
|
|||||||
var debugging = os.Getenv("DEBUG") == "true"
|
var debugging = os.Getenv("DEBUG") == "true"
|
||||||
|
|
||||||
type (
|
type (
|
||||||
V1 struct {
|
V01 struct {
|
||||||
src raw.Raw
|
src raw.Raw
|
||||||
}
|
}
|
||||||
v1Msg struct {
|
v01Msg struct {
|
||||||
T int64
|
T int64
|
||||||
U string
|
U string
|
||||||
Y string
|
Y string
|
||||||
@@ -21,26 +21,26 @@ type (
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewV1(src raw.Raw) V1 {
|
func NewV01(src raw.Raw) V01 {
|
||||||
return V1{
|
return V01{
|
||||||
src: src,
|
src: src,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v1 V1) Close() {
|
func (v01 V01) Close() {
|
||||||
v1.src.Close()
|
v01.src.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v1 V1) Read() []Button {
|
func (v01 V01) Read() []Button {
|
||||||
line := v1.src.Read()
|
line := v01.src.Read()
|
||||||
var msg v1Msg
|
var msg v01Msg
|
||||||
if err := json.Unmarshal(line, &msg); err != nil {
|
if err := json.Unmarshal(line, &msg); err != nil {
|
||||||
log.Printf("%v: %s", err, line)
|
log.Printf("%v: %s", err, line)
|
||||||
}
|
}
|
||||||
return msg.buttons()
|
return msg.buttons()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (msg v1Msg) buttons() []Button {
|
func (msg v01Msg) buttons() []Button {
|
||||||
buttons := make([]Button, len(msg.Y)+len(msg.N))
|
buttons := make([]Button, len(msg.Y)+len(msg.N))
|
||||||
for i := range msg.Y {
|
for i := range msg.Y {
|
||||||
buttons[i] = Button{Char: msg.Y[i], Down: true}
|
buttons[i] = Button{Char: msg.Y[i], Down: true}
|
||||||
@@ -5,11 +5,11 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestV1(t *testing.T) {
|
func TestV01(t *testing.T) {
|
||||||
src := constSrc(`{"T":1,"U":"bel","Y":"abc","N":"cde"}`)
|
src := constSrc(`{"T":1,"U":"bel","Y":"abc","N":"cde"}`)
|
||||||
t.Logf("(%v) %s", len(src), src.Read())
|
t.Logf("(%v) %s", len(src), src.Read())
|
||||||
v1 := button.NewV1(src)
|
v01 := button.NewV01(src)
|
||||||
got := v1.Read()
|
got := v01.Read()
|
||||||
want := []button.Button{
|
want := []button.Button{
|
||||||
{Down: true, Char: 'a'},
|
{Down: true, Char: 'a'},
|
||||||
{Down: true, Char: 'b'},
|
{Down: true, Char: 'b'},
|
||||||
Reference in New Issue
Block a user