keys support case
parent
e5a668b691
commit
7b7486cc93
|
|
@ -1,7 +1,35 @@
|
|||
package key
|
||||
|
||||
import "os"
|
||||
|
||||
var (
|
||||
charToKey = map[byte]Key{
|
||||
'A': AUpper,
|
||||
'B': BUpper,
|
||||
'C': CUpper,
|
||||
'D': DUpper,
|
||||
'E': EUpper,
|
||||
'F': FUpper,
|
||||
'G': GUpper,
|
||||
'H': HUpper,
|
||||
'I': IUpper,
|
||||
'J': JUpper,
|
||||
'K': KUpper,
|
||||
'L': LUpper,
|
||||
'M': MUpper,
|
||||
'N': NUpper,
|
||||
'O': OUpper,
|
||||
'P': PUpper,
|
||||
'Q': QUpper,
|
||||
'R': RUpper,
|
||||
'S': SUpper,
|
||||
'T': TUpper,
|
||||
'U': UUpper,
|
||||
'V': VUpper,
|
||||
'W': WUpper,
|
||||
'X': XUpper,
|
||||
'Y': YUpper,
|
||||
'Z': ZUpper,
|
||||
'a': A,
|
||||
'b': B,
|
||||
'c': C,
|
||||
|
|
@ -56,8 +84,10 @@ func ToChar(k Key) byte {
|
|||
return v
|
||||
}
|
||||
|
||||
var caseSensitive = os.Getenv("CASE_SENSITIVE") != "true"
|
||||
|
||||
func FromChar(b byte) Key {
|
||||
if 'A' <= b && b <= 'Z' {
|
||||
if !caseSensitive && 'A' <= b && b <= 'Z' {
|
||||
b += 'a' - 'A'
|
||||
}
|
||||
v, ok := charToKey[b]
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package key
|
|||
import "testing"
|
||||
|
||||
func TestFromChar(t *testing.T) {
|
||||
caseSensitive = false
|
||||
if got := FromChar('1'); got != N1 {
|
||||
t.Error(got)
|
||||
}
|
||||
|
|
@ -21,4 +22,11 @@ func TestFromChar(t *testing.T) {
|
|||
if got := ToChar(-1); got != '?' {
|
||||
t.Error(got)
|
||||
}
|
||||
caseSensitive = true
|
||||
if got := FromChar('a'); got != A {
|
||||
t.Error(got)
|
||||
}
|
||||
if got := FromChar('A'); got != AUpper {
|
||||
t.Error(got)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,45 +1,69 @@
|
|||
package key
|
||||
|
||||
import "github.com/micmonay/keybd_event"
|
||||
|
||||
type Key int
|
||||
|
||||
const (
|
||||
Undef = Key(keybd_event.VK_SP11)
|
||||
A = Key(keybd_event.VK_A)
|
||||
B = Key(keybd_event.VK_B)
|
||||
C = Key(keybd_event.VK_C)
|
||||
D = Key(keybd_event.VK_D)
|
||||
E = Key(keybd_event.VK_E)
|
||||
F = Key(keybd_event.VK_F)
|
||||
G = Key(keybd_event.VK_G)
|
||||
H = Key(keybd_event.VK_H)
|
||||
I = Key(keybd_event.VK_I)
|
||||
J = Key(keybd_event.VK_J)
|
||||
K = Key(keybd_event.VK_K)
|
||||
L = Key(keybd_event.VK_L)
|
||||
M = Key(keybd_event.VK_M)
|
||||
N = Key(keybd_event.VK_N)
|
||||
O = Key(keybd_event.VK_O)
|
||||
P = Key(keybd_event.VK_P)
|
||||
Q = Key(keybd_event.VK_Q)
|
||||
R = Key(keybd_event.VK_R)
|
||||
S = Key(keybd_event.VK_S)
|
||||
T = Key(keybd_event.VK_T)
|
||||
U = Key(keybd_event.VK_U)
|
||||
V = Key(keybd_event.VK_V)
|
||||
W = Key(keybd_event.VK_W)
|
||||
X = Key(keybd_event.VK_X)
|
||||
Y = Key(keybd_event.VK_Y)
|
||||
Z = Key(keybd_event.VK_Z)
|
||||
N1 = Key(keybd_event.VK_1)
|
||||
N2 = Key(keybd_event.VK_2)
|
||||
N3 = Key(keybd_event.VK_3)
|
||||
N4 = Key(keybd_event.VK_4)
|
||||
N5 = Key(keybd_event.VK_5)
|
||||
N6 = Key(keybd_event.VK_6)
|
||||
N7 = Key(keybd_event.VK_7)
|
||||
N8 = Key(keybd_event.VK_8)
|
||||
N9 = Key(keybd_event.VK_9)
|
||||
N0 = Key(keybd_event.VK_0)
|
||||
Undef = iota
|
||||
A
|
||||
B
|
||||
C
|
||||
D
|
||||
E
|
||||
F
|
||||
G
|
||||
H
|
||||
I
|
||||
J
|
||||
K
|
||||
L
|
||||
M
|
||||
N
|
||||
O
|
||||
P
|
||||
Q
|
||||
R
|
||||
S
|
||||
T
|
||||
U
|
||||
V
|
||||
W
|
||||
X
|
||||
Y
|
||||
Z
|
||||
AUpper
|
||||
BUpper
|
||||
CUpper
|
||||
DUpper
|
||||
EUpper
|
||||
FUpper
|
||||
GUpper
|
||||
HUpper
|
||||
IUpper
|
||||
JUpper
|
||||
KUpper
|
||||
LUpper
|
||||
MUpper
|
||||
NUpper
|
||||
OUpper
|
||||
PUpper
|
||||
QUpper
|
||||
RUpper
|
||||
SUpper
|
||||
TUpper
|
||||
UUpper
|
||||
VUpper
|
||||
WUpper
|
||||
XUpper
|
||||
YUpper
|
||||
ZUpper
|
||||
N1
|
||||
N2
|
||||
N3
|
||||
N4
|
||||
N5
|
||||
N6
|
||||
N7
|
||||
N8
|
||||
N9
|
||||
N0
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue