-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
code_string.go
60 lines (55 loc) · 2.8 KB
/
code_string.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// Code generated by "stringer -type=Code"; DO NOT EDIT
package key
import "fmt"
const (
codeName0 = "CodeUnknown"
codeName1 = "CodeACodeBCodeCCodeDCodeECodeFCodeGCodeHCodeICodeJCodeKCodeLCodeMCodeNCodeOCodePCodeQCodeRCodeSCodeTCodeUCodeVCodeWCodeXCodeYCodeZCode1Code2Code3Code4Code5Code6Code7Code8Code9Code0CodeReturnEnterCodeEscapeCodeDeleteBackspaceCodeTabCodeSpacebarCodeHyphenMinusCodeEqualSignCodeLeftSquareBracketCodeRightSquareBracketCodeBackslash"
codeName2 = "CodeSemicolonCodeApostropheCodeGraveAccentCodeCommaCodeFullStopCodeSlashCodeCapsLockCodeF1CodeF2CodeF3CodeF4CodeF5CodeF6CodeF7CodeF8CodeF9CodeF10CodeF11CodeF12"
codeName3 = "CodePauseCodeInsertCodeHomeCodePageUpCodeDeleteForwardCodeEndCodePageDownCodeRightArrowCodeLeftArrowCodeDownArrowCodeUpArrowCodeKeypadNumLockCodeKeypadSlashCodeKeypadAsteriskCodeKeypadHyphenMinusCodeKeypadPlusSignCodeKeypadEnterCodeKeypad1CodeKeypad2CodeKeypad3CodeKeypad4CodeKeypad5CodeKeypad6CodeKeypad7CodeKeypad8CodeKeypad9CodeKeypad0CodeKeypadFullStop"
codeName4 = "CodeKeypadEqualSignCodeF13CodeF14CodeF15CodeF16CodeF17CodeF18CodeF19CodeF20CodeF21CodeF22CodeF23CodeF24"
codeName5 = "CodeHelp"
codeName6 = "CodeMuteCodeVolumeUpCodeVolumeDown"
codeName7 = "CodeLeftControlCodeLeftShiftCodeLeftAltCodeLeftGUICodeRightControlCodeRightShiftCodeRightAltCodeRightGUI"
codeName8 = "CodeCompose"
)
var (
codeIndex0 = [...]uint8{0, 11}
codeIndex1 = [...]uint16{0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 195, 205, 224, 231, 243, 258, 271, 292, 314, 327}
codeIndex2 = [...]uint8{0, 13, 27, 42, 51, 63, 72, 84, 90, 96, 102, 108, 114, 120, 126, 132, 138, 145, 152, 159}
codeIndex3 = [...]uint16{0, 9, 19, 27, 37, 54, 61, 73, 87, 100, 113, 124, 141, 156, 174, 195, 213, 228, 239, 250, 261, 272, 283, 294, 305, 316, 327, 338, 356}
codeIndex4 = [...]uint8{0, 19, 26, 33, 40, 47, 54, 61, 68, 75, 82, 89, 96, 103}
codeIndex5 = [...]uint8{0, 8}
codeIndex6 = [...]uint8{0, 8, 20, 34}
codeIndex7 = [...]uint8{0, 15, 28, 39, 50, 66, 80, 92, 104}
codeIndex8 = [...]uint8{0, 11}
)
func (i Code) String() string {
switch {
case i == 0:
return codeName0
case 4 <= i && i <= 49:
i -= 4
return codeName1[codeIndex1[i]:codeIndex1[i+1]]
case 51 <= i && i <= 69:
i -= 51
return codeName2[codeIndex2[i]:codeIndex2[i+1]]
case 72 <= i && i <= 99:
i -= 72
return codeName3[codeIndex3[i]:codeIndex3[i+1]]
case 103 <= i && i <= 115:
i -= 103
return codeName4[codeIndex4[i]:codeIndex4[i+1]]
case i == 117:
return codeName5
case 127 <= i && i <= 129:
i -= 127
return codeName6[codeIndex6[i]:codeIndex6[i+1]]
case 224 <= i && i <= 231:
i -= 224
return codeName7[codeIndex7[i]:codeIndex7[i+1]]
case i == 65536:
return codeName8
default:
return fmt.Sprintf("Code(%d)", i)
}
}