Cleanup and fixes

pull/3/head
Minizbot2012 4 years ago
parent 9b62891e4a
commit 3d0efe6bed
No known key found for this signature in database
GPG Key ID: 977C8ADE12361917

@ -4,52 +4,25 @@ import (
"encoding/binary"
"fyne.io/fyne"
"github.com/minizbot2012/orbbind/keys"
)
//PKM format for altering the keymap
type PKM struct {
MIP [20]uint16
SIP [6]uint16
COL [3]int
COL [3]byte
}
//SaveIntoKeymap saves an orb
func SaveIntoKeymap(mapped *PKM, file fyne.URIWriteCloser) {
buf := make([]byte, 2)
for i := 0; i < 26; i++ {
if i < 20 {
binary.LittleEndian.PutUint16(buf, uint16(keys.GetSCForASCII(mapped.MIP[i])))
} else {
binary.LittleEndian.PutUint16(buf, uint16(keys.GetSCForASCII(mapped.SIP[i-20])))
}
file.Write(buf)
}
arr := []byte{byte(mapped.COL[0]), byte(mapped.COL[1]), byte(mapped.COL[2])}
file.Write(arr)
binary.Write(file, binary.LittleEndian, mapped)
file.Close()
}
//LoadFile loads an orb
func LoadFile(file fyne.URIReadCloser) *PKM {
mapped := &PKM{}
for i := 0; i < 26; i++ {
b := make([]byte, 2)
file.Read(b)
Asc := keys.GetASCIIForSC(binary.LittleEndian.Uint16(b))
if i < 26 {
if i < 20 {
mapped.MIP[i] = Asc
} else {
mapped.SIP[i-20] = Asc
}
}
}
b := make([]byte, 3)
file.Read(b)
mapped.COL[0] = int(b[0])
mapped.COL[1] = int(b[1])
mapped.COL[2] = int(b[2])
binary.Read(file, binary.LittleEndian, mapped)
file.Close()
return mapped
}

@ -23,6 +23,7 @@ var ASCIIToKC = map[rune]Code{
'n': CodeN,
'o': CodeO,
'p': CodeP,
'q': CodeQ,
'r': CodeR,
's': CodeS,
't': CodeT,
@ -120,6 +121,7 @@ var FyneToKC = map[fyne.KeyName]Code{
fyne.KeyPageDown: CodePageDown,
fyne.KeyPageUp: CodePageUp,
fyne.KeySpace: CodeSpace,
fyne.KeyBackTick: CodeGrave,
desktop.KeyAltLeft: CodeLeftAlt,
desktop.KeyAltRight: CodeRightAlt,
desktop.KeyControlLeft: CodeLeftCntl,

@ -8,6 +8,7 @@ func _() {
// An "invalid array index" compiler error signifies that the constant values have changed.
// Re-run the stringer command to generate them again.
var x [1]struct{}
_ = x[CodeNone-0]
_ = x[CodeESC-1]
_ = x[Code1-2]
_ = x[Code2-3]
@ -110,7 +111,7 @@ func _() {
}
const (
_Code_name_0 = "CodeESCCode1Code2Code3Code4Code5Code6Code7Code8Code9Code0CodeMinusCodeEqualCodeBackspaceCodeTabCodeQCodeWCodeECodeRCodeTCodeYCodeUCodeICodeOCodePCodeLeftBrackCodeRightBraceCodeEnterCodeLeftCntlCodeACodeSCodeDCodeFCodeGCodeHCodeJCodeKCodeLCodeSemicolonCodeApostropheCodeGraveCodeLeftShiftCodeBackslashCodeZCodeXCodeCCodeVCodeBCodeNCodeMCodeCommaCodeDotCodeSlashCodeRightShiftCodeKPAsteriskCodeLeftAltCodeSpaceCodeCapsLockCodeF1CodeF2CodeF3CodeF4CodeF5CodeF6CodeF7CodeF8CodeF9CodeF10CodeNumlockCodeScrollLockCodeKP7CodeKP8CodeKP9CodeKPMinusCodeKP4CodeKP5CodeKP6CodeKPPlusCodeKP1CodeKP2CodeKP3CodeKP0CodeKPDot"
_Code_name_0 = "CodeNoneCodeESCCode1Code2Code3Code4Code5Code6Code7Code8Code9Code0CodeMinusCodeEqualCodeBackspaceCodeTabCodeQCodeWCodeECodeRCodeTCodeYCodeUCodeICodeOCodePCodeLeftBrackCodeRightBraceCodeEnterCodeLeftCntlCodeACodeSCodeDCodeFCodeGCodeHCodeJCodeKCodeLCodeSemicolonCodeApostropheCodeGraveCodeLeftShiftCodeBackslashCodeZCodeXCodeCCodeVCodeBCodeNCodeMCodeCommaCodeDotCodeSlashCodeRightShiftCodeKPAsteriskCodeLeftAltCodeSpaceCodeCapsLockCodeF1CodeF2CodeF3CodeF4CodeF5CodeF6CodeF7CodeF8CodeF9CodeF10CodeNumlockCodeScrollLockCodeKP7CodeKP8CodeKP9CodeKPMinusCodeKP4CodeKP5CodeKP6CodeKPPlusCodeKP1CodeKP2CodeKP3CodeKP0CodeKPDot"
_Code_name_1 = "CodeF11CodeF12"
_Code_name_2 = "CodeKPEnterCodeRightControlCodeKPSlash"
_Code_name_3 = "CodeRightAlt"
@ -118,7 +119,7 @@ const (
)
var (
_Code_index_0 = [...]uint16{0, 7, 12, 17, 22, 27, 32, 37, 42, 47, 52, 57, 66, 75, 88, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 158, 172, 181, 193, 198, 203, 208, 213, 218, 223, 228, 233, 238, 251, 265, 274, 287, 300, 305, 310, 315, 320, 325, 330, 335, 344, 351, 360, 374, 388, 399, 408, 420, 426, 432, 438, 444, 450, 456, 462, 468, 474, 481, 492, 506, 513, 520, 527, 538, 545, 552, 559, 569, 576, 583, 590, 597, 606}
_Code_index_0 = [...]uint16{0, 8, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 74, 83, 96, 103, 108, 113, 118, 123, 128, 133, 138, 143, 148, 153, 166, 180, 189, 201, 206, 211, 216, 221, 226, 231, 236, 241, 246, 259, 273, 282, 295, 308, 313, 318, 323, 328, 333, 338, 343, 352, 359, 368, 382, 396, 407, 416, 428, 434, 440, 446, 452, 458, 464, 470, 476, 482, 489, 500, 514, 521, 528, 535, 546, 553, 560, 567, 577, 584, 591, 598, 605, 614}
_Code_index_1 = [...]uint8{0, 7, 14}
_Code_index_2 = [...]uint8{0, 11, 27, 38}
_Code_index_4 = [...]uint8{0, 8, 19, 29, 42, 56, 63, 76, 88, 98, 108}
@ -126,8 +127,7 @@ var (
func (i Code) String() string {
switch {
case 1 <= i && i <= 83:
i -= 1
case i <= 83:
return _Code_name_0[_Code_index_0[i]:_Code_index_0[i+1]]
case 87 <= i && i <= 88:
i -= 87

@ -28,7 +28,7 @@ func init() {
//CKIFyneKeyMap Control Keys interop
func CKIFyneKeyMap(e fyne.KeyName) uint16 {
if val, ok := KCToASCII[FyneToKC[e]]; ok {
if val, ok := FyneToKC[e]; ok {
return uint16(val)
}
return 0

@ -6,104 +6,104 @@ package keys
type Code uint16
const (
CodeNone uint16 = 0
CodeESC Code = 1
Code1 Code = 2
Code2 Code = 3
Code3 Code = 4
Code4 Code = 5
Code5 Code = 6
Code6 Code = 7
Code7 Code = 8
Code8 Code = 9
Code9 Code = 10
Code0 Code = 11
CodeMinus Code = 12
CodeEqual Code = 13
CodeBackspace Code = 14
CodeTab Code = 15
CodeQ Code = 16
CodeW Code = 17
CodeE Code = 18
CodeR Code = 19
CodeT Code = 20
CodeY Code = 21
CodeU Code = 22
CodeI Code = 23
CodeO Code = 24
CodeP Code = 25
CodeLeftBrack Code = 26
CodeRightBrace Code = 27
CodeEnter Code = 28
CodeLeftCntl Code = 29
CodeA Code = 30
CodeS Code = 31
CodeD Code = 32
CodeF Code = 33
CodeG Code = 34
CodeH Code = 35
CodeJ Code = 36
CodeK Code = 37
CodeL Code = 38
CodeSemicolon Code = 39
CodeApostrophe Code = 40
CodeGrave Code = 41
CodeLeftShift Code = 42
CodeBackslash Code = 43
CodeZ Code = 44
CodeX Code = 45
CodeC Code = 46
CodeV Code = 47
CodeB Code = 48
CodeN Code = 49
CodeM Code = 50
CodeComma Code = 51
CodeDot Code = 52
CodeSlash Code = 53
CodeRightShift Code = 54
CodeKPAsterisk Code = 55
CodeLeftAlt Code = 56
CodeSpace Code = 57
CodeCapsLock Code = 58
CodeF1 Code = 59
CodeF2 Code = 60
CodeF3 Code = 61
CodeF4 Code = 62
CodeF5 Code = 63
CodeF6 Code = 64
CodeF7 Code = 65
CodeF8 Code = 66
CodeF9 Code = 67
CodeF10 Code = 68
CodeNumlock Code = 69
CodeScrollLock Code = 70
CodeKP7 Code = 71
CodeKP8 Code = 72
CodeKP9 Code = 73
CodeKPMinus Code = 74
CodeKP4 Code = 75
CodeKP5 Code = 76
CodeKP6 Code = 77
CodeKPPlus Code = 78
CodeKP1 Code = 79
CodeKP2 Code = 80
CodeKP3 Code = 81
CodeKP0 Code = 82
CodeKPDot Code = 83
CodeF11 Code = 87
CodeF12 Code = 88
CodeKPEnter Code = 96
CodeRightControl Code = 97
CodeKPSlash Code = 98
CodeRightAlt Code = 100
CodeHome Code = 102
CodeUpArrow Code = 103
CodePageUp Code = 104
CodeLeftArrow Code = 105
CodeRightArrow Code = 106
CodeEnd Code = 107
CodeDownArrow Code = 108
CodePageDown Code = 109
CodeInsert Code = 110
CodeDelete Code = 111
CodeNone Code = 0
CodeESC Code = 1
Code1 Code = 2
Code2 Code = 3
Code3 Code = 4
Code4 Code = 5
Code5 Code = 6
Code6 Code = 7
Code7 Code = 8
Code8 Code = 9
Code9 Code = 10
Code0 Code = 11
CodeMinus Code = 12
CodeEqual Code = 13
CodeBackspace Code = 14
CodeTab Code = 15
CodeQ Code = 16
CodeW Code = 17
CodeE Code = 18
CodeR Code = 19
CodeT Code = 20
CodeY Code = 21
CodeU Code = 22
CodeI Code = 23
CodeO Code = 24
CodeP Code = 25
CodeLeftBrack Code = 26
CodeRightBrace Code = 27
CodeEnter Code = 28
CodeLeftCntl Code = 29
CodeA Code = 30
CodeS Code = 31
CodeD Code = 32
CodeF Code = 33
CodeG Code = 34
CodeH Code = 35
CodeJ Code = 36
CodeK Code = 37
CodeL Code = 38
CodeSemicolon Code = 39
CodeApostrophe Code = 40
CodeGrave Code = 41
CodeLeftShift Code = 42
CodeBackslash Code = 43
CodeZ Code = 44
CodeX Code = 45
CodeC Code = 46
CodeV Code = 47
CodeB Code = 48
CodeN Code = 49
CodeM Code = 50
CodeComma Code = 51
CodeDot Code = 52
CodeSlash Code = 53
CodeRightShift Code = 54
CodeKPAsterisk Code = 55
CodeLeftAlt Code = 56
CodeSpace Code = 57
CodeCapsLock Code = 58
CodeF1 Code = 59
CodeF2 Code = 60
CodeF3 Code = 61
CodeF4 Code = 62
CodeF5 Code = 63
CodeF6 Code = 64
CodeF7 Code = 65
CodeF8 Code = 66
CodeF9 Code = 67
CodeF10 Code = 68
CodeNumlock Code = 69
CodeScrollLock Code = 70
CodeKP7 Code = 71
CodeKP8 Code = 72
CodeKP9 Code = 73
CodeKPMinus Code = 74
CodeKP4 Code = 75
CodeKP5 Code = 76
CodeKP6 Code = 77
CodeKPPlus Code = 78
CodeKP1 Code = 79
CodeKP2 Code = 80
CodeKP3 Code = 81
CodeKP0 Code = 82
CodeKPDot Code = 83
CodeF11 Code = 87
CodeF12 Code = 88
CodeKPEnter Code = 96
CodeRightControl Code = 97
CodeKPSlash Code = 98
CodeRightAlt Code = 100
CodeHome Code = 102
CodeUpArrow Code = 103
CodePageUp Code = 104
CodeLeftArrow Code = 105
CodeRightArrow Code = 106
CodeEnd Code = 107
CodeDownArrow Code = 108
CodePageDown Code = 109
CodeInsert Code = 110
CodeDelete Code = 111
)

@ -26,29 +26,24 @@ type Page struct {
//TypeKey event on key
func (bp *Page) TypeKey(e *fyne.KeyEvent) {
bp.Bind.Bound = keys.CKIFyneKeyMap(e.Name)
kp := keys.CKIKeyNameFromASCII(bp.Bind.Bound)
kp := keys.CKIKeyNameFromKC(bp.Bind.Bound)
bp.dev["BL"].(*widget.Label).SetText(kp)
}
func (bp *Page) createGrid() *fyne.Container {
cont := fyne.NewContainerWithLayout(layout.NewGridLayoutWithColumns(3))
cont := fyne.NewContainerWithLayout(layout.NewGridLayoutWithColumns(4))
cont.AddObject(widget.NewButton("Clear", func() {
bp.dev["BL"].(*widget.Label).SetText(keys.CKIKeyNameFromKC(0))
bp.Bind.Bound = 0x0
bp.dev["BL"].(*widget.Label).SetText(keys.CKIKeyNameFromKC(bp.Bind.Bound))
}))
k1 := widget.NewButton("Tab", func() { bp.TypeKey(&fyne.KeyEvent{Name: fyne.KeyTab}) })
k2 := widget.NewButton("Left Alt", func() { bp.TypeKey(&fyne.KeyEvent{Name: desktop.KeyAltLeft}) })
k3 := widget.NewButton("Right Alt", func() { bp.TypeKey(&fyne.KeyEvent{Name: desktop.KeyAltRight}) })
k4 := widget.NewButton("Left Control", func() { bp.TypeKey(&fyne.KeyEvent{Name: desktop.KeyControlLeft}) })
k5 := widget.NewButton("Right Contorl", func() { bp.TypeKey(&fyne.KeyEvent{Name: desktop.KeyControlRight}) })
k6 := widget.NewButton("Left Shift", func() { bp.TypeKey(&fyne.KeyEvent{Name: desktop.KeyShiftLeft}) })
k7 := widget.NewButton("Right Shift", func() { bp.TypeKey(&fyne.KeyEvent{Name: desktop.KeyShiftRight}) })
k3 := widget.NewButton("Left Alt", func() { bp.TypeKey(&fyne.KeyEvent{Name: desktop.KeyAltLeft}) })
k5 := widget.NewButton("Left Control", func() { bp.TypeKey(&fyne.KeyEvent{Name: desktop.KeyControlLeft}) })
k7 := widget.NewButton("Left Shift", func() { bp.TypeKey(&fyne.KeyEvent{Name: desktop.KeyShiftLeft}) })
//k8 := widget.NewButton("Grave (`)", func() { bp.TypeKey(&fyne.KeyEvent{Name: fyne.KeyBackTick}) })
cont.AddObject(k1)
cont.AddObject(k2)
cont.AddObject(k3)
cont.AddObject(k4)
cont.AddObject(k5)
cont.AddObject(k6)
cont.AddObject(k7)
return cont
}
@ -56,7 +51,7 @@ func (bp *Page) createGrid() *fyne.Container {
//Create the binding page popup
func (bp *Page) Create(bid string) fyne.CanvasObject {
bp.dev = make(map[string]fyne.CanvasObject)
bp.dev["BL"] = widget.NewLabel(keys.CKIKeyNameFromASCII(bp.Bind.Bound))
bp.dev["BL"] = widget.NewLabel(keys.CKIKeyNameFromKC(bp.Bind.Bound))
pop := widget.NewVBox(bp.dev["BL"], bp.createGrid())
bp.window.Canvas().SetOnTypedKey(bp.TypeKey)
return pop

Loading…
Cancel
Save