support alpha, numeric, f0..10, punctuation, math keys
parent
9ce50f2622
commit
6536daee7f
|
|
@ -34,6 +34,9 @@ Think Dug's Twitch Chat Plays
|
||||||
|
|
||||||
Each client needs 1 executable and 1 env file with a unique set of buttons
|
Each client needs 1 executable and 1 env file with a unique set of buttons
|
||||||
|
|
||||||
|
> 10 buttons per player
|
||||||
|
> `go doc key Undef | grep Key | grep -v Undef | wc -l` total (54)
|
||||||
|
|
||||||
The server cannot be a client because math. Maybe a VM on the client as a server would work tho.
|
The server cannot be a client because math. Maybe a VM on the client as a server would work tho.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,24 @@ var (
|
||||||
'8': N8,
|
'8': N8,
|
||||||
'9': N9,
|
'9': N9,
|
||||||
'0': N0,
|
'0': N0,
|
||||||
|
'!': F1,
|
||||||
|
'@': F2,
|
||||||
|
'#': F3,
|
||||||
|
'$': F4,
|
||||||
|
'%': F5,
|
||||||
|
'^': F6,
|
||||||
|
'&': F7,
|
||||||
|
'*': F8,
|
||||||
|
'(': F9,
|
||||||
|
')': F10,
|
||||||
|
',': PComma,
|
||||||
|
'.': PPeriod,
|
||||||
|
'/': PFSlash,
|
||||||
|
';': PSemicolon,
|
||||||
|
'[': POpenBracket,
|
||||||
|
']': PCloseBracket,
|
||||||
|
'-': PMinus,
|
||||||
|
'=': PEqual,
|
||||||
}
|
}
|
||||||
keyToChar = func() map[Key]byte {
|
keyToChar = func() map[Key]byte {
|
||||||
result := map[Key]byte{}
|
result := map[Key]byte{}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ func TestFromChar(t *testing.T) {
|
||||||
if got := FromChar('A'); got != A {
|
if got := FromChar('A'); got != A {
|
||||||
t.Error(got)
|
t.Error(got)
|
||||||
}
|
}
|
||||||
if got := FromChar('!'); got != Undef {
|
if got := FromChar(byte(0)); got != Undef {
|
||||||
t.Error(got)
|
t.Error(got)
|
||||||
}
|
}
|
||||||
if got := ToChar(A); got != 'a' {
|
if got := ToChar(A); got != 'a' {
|
||||||
|
|
|
||||||
|
|
@ -5,41 +5,59 @@ import "github.com/micmonay/keybd_event"
|
||||||
type Key int
|
type Key int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Undef = Key(keybd_event.VK_SP11)
|
Undef = Key(keybd_event.VK_SP11)
|
||||||
A = Key(keybd_event.VK_A)
|
A = Key(keybd_event.VK_A)
|
||||||
B = Key(keybd_event.VK_B)
|
B = Key(keybd_event.VK_B)
|
||||||
C = Key(keybd_event.VK_C)
|
C = Key(keybd_event.VK_C)
|
||||||
D = Key(keybd_event.VK_D)
|
D = Key(keybd_event.VK_D)
|
||||||
E = Key(keybd_event.VK_E)
|
E = Key(keybd_event.VK_E)
|
||||||
F = Key(keybd_event.VK_F)
|
F = Key(keybd_event.VK_F)
|
||||||
G = Key(keybd_event.VK_G)
|
G = Key(keybd_event.VK_G)
|
||||||
H = Key(keybd_event.VK_H)
|
H = Key(keybd_event.VK_H)
|
||||||
I = Key(keybd_event.VK_I)
|
I = Key(keybd_event.VK_I)
|
||||||
J = Key(keybd_event.VK_J)
|
J = Key(keybd_event.VK_J)
|
||||||
K = Key(keybd_event.VK_K)
|
K = Key(keybd_event.VK_K)
|
||||||
L = Key(keybd_event.VK_L)
|
L = Key(keybd_event.VK_L)
|
||||||
M = Key(keybd_event.VK_M)
|
M = Key(keybd_event.VK_M)
|
||||||
N = Key(keybd_event.VK_N)
|
N = Key(keybd_event.VK_N)
|
||||||
O = Key(keybd_event.VK_O)
|
O = Key(keybd_event.VK_O)
|
||||||
P = Key(keybd_event.VK_P)
|
P = Key(keybd_event.VK_P)
|
||||||
Q = Key(keybd_event.VK_Q)
|
Q = Key(keybd_event.VK_Q)
|
||||||
R = Key(keybd_event.VK_R)
|
R = Key(keybd_event.VK_R)
|
||||||
S = Key(keybd_event.VK_S)
|
S = Key(keybd_event.VK_S)
|
||||||
T = Key(keybd_event.VK_T)
|
T = Key(keybd_event.VK_T)
|
||||||
U = Key(keybd_event.VK_U)
|
U = Key(keybd_event.VK_U)
|
||||||
V = Key(keybd_event.VK_V)
|
V = Key(keybd_event.VK_V)
|
||||||
W = Key(keybd_event.VK_W)
|
W = Key(keybd_event.VK_W)
|
||||||
X = Key(keybd_event.VK_X)
|
X = Key(keybd_event.VK_X)
|
||||||
Y = Key(keybd_event.VK_Y)
|
Y = Key(keybd_event.VK_Y)
|
||||||
Z = Key(keybd_event.VK_Z)
|
Z = Key(keybd_event.VK_Z)
|
||||||
N1 = Key(keybd_event.VK_1)
|
N1 = Key(keybd_event.VK_1)
|
||||||
N2 = Key(keybd_event.VK_2)
|
N2 = Key(keybd_event.VK_2)
|
||||||
N3 = Key(keybd_event.VK_3)
|
N3 = Key(keybd_event.VK_3)
|
||||||
N4 = Key(keybd_event.VK_4)
|
N4 = Key(keybd_event.VK_4)
|
||||||
N5 = Key(keybd_event.VK_5)
|
N5 = Key(keybd_event.VK_5)
|
||||||
N6 = Key(keybd_event.VK_6)
|
N6 = Key(keybd_event.VK_6)
|
||||||
N7 = Key(keybd_event.VK_7)
|
N7 = Key(keybd_event.VK_7)
|
||||||
N8 = Key(keybd_event.VK_8)
|
N8 = Key(keybd_event.VK_8)
|
||||||
N9 = Key(keybd_event.VK_9)
|
N9 = Key(keybd_event.VK_9)
|
||||||
N0 = Key(keybd_event.VK_0)
|
N0 = Key(keybd_event.VK_0)
|
||||||
|
F1 = Key(keybd_event.VK_F1)
|
||||||
|
F2 = Key(keybd_event.VK_F2)
|
||||||
|
F3 = Key(keybd_event.VK_F3)
|
||||||
|
F4 = Key(keybd_event.VK_F4)
|
||||||
|
F5 = Key(keybd_event.VK_F5)
|
||||||
|
F6 = Key(keybd_event.VK_F6)
|
||||||
|
F7 = Key(keybd_event.VK_F7)
|
||||||
|
F8 = Key(keybd_event.VK_F8)
|
||||||
|
F9 = Key(keybd_event.VK_F9)
|
||||||
|
F10 = Key(keybd_event.VK_F10)
|
||||||
|
PComma = Key(keybd_event.VK_COMMA)
|
||||||
|
PPeriod = Key(keybd_event.VK_Period)
|
||||||
|
PFSlash = Key(keybd_event.VK_BACKSLASH)
|
||||||
|
PSemicolon = Key(keybd_event.VK_SEMICOLON)
|
||||||
|
POpenBracket = Key(keybd_event.VK_LeftBracket)
|
||||||
|
PCloseBracket = Key(keybd_event.VK_RightBracket)
|
||||||
|
PMinus = Key(keybd_event.VK_MINUS)
|
||||||
|
PEqual = Key(keybd_event.VK_EQUAL)
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue