reunixify, remove precompiled binary

pull/3/head
Minizbot2012 3 years ago
parent 2b6781b65b
commit 3e52c97d8b
No known key found for this signature in database
GPG Key ID: 977C8ADE12361917

@ -1,12 +1,12 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: minizbot # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: minizbot # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

@ -1,2 +1,2 @@
Orbweaver Mapping utility for orbmap
Orbweaver Mapping utility for orbmap
```go get github.com/Minizbot2012/orbbind```

@ -8,7 +8,7 @@ require (
github.com/stretchr/testify v1.6.1 // indirect
golang.org/x/image v0.0.0-20200927104501-e162460cd6b5 // indirect
golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb // indirect
golang.org/x/sys v0.0.0-20201202213521-69691e467435 // indirect
golang.org/x/sys v0.0.0-20201204225414-ed752295db88 // indirect
golang.org/x/text v0.3.4 // indirect
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect
)

@ -71,6 +71,8 @@ golang.org/x/sys v0.0.0-20200720211630-cb9d2d5c5666/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201202213521-69691e467435 h1:25AvDqqB9PrNqj1FLf2/70I4W0L19qqoaFq3gjNwbKk=
golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201204225414-ed752295db88 h1:KmZPnMocC93w341XZp26yTJg8Za7lhb2KhkYmixoeso=
golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=

@ -1,28 +1,28 @@
package orbweaver
import (
"encoding/binary"
"fyne.io/fyne"
)
//PKM format for altering the keymap
type PKM struct {
MIP [20]uint16
SIP [6]uint16
COL [3]byte
}
//SaveIntoKeymap saves an orb
func SaveIntoKeymap(mapped *PKM, file fyne.URIWriteCloser) {
binary.Write(file, binary.LittleEndian, mapped)
file.Close()
}
//LoadFile loads an orb
func LoadFile(file fyne.URIReadCloser) *PKM {
mapped := &PKM{}
binary.Read(file, binary.LittleEndian, mapped)
file.Close()
return mapped
}
package orbweaver
import (
"encoding/binary"
"fyne.io/fyne"
)
//PKM format for altering the keymap
type PKM struct {
MIP [20]uint16
SIP [6]uint16
COL [3]byte
}
//SaveIntoKeymap saves an orb
func SaveIntoKeymap(mapped *PKM, file fyne.URIWriteCloser) {
binary.Write(file, binary.LittleEndian, mapped)
file.Close()
}
//LoadFile loads an orb
func LoadFile(file fyne.URIReadCloser) *PKM {
mapped := &PKM{}
binary.Read(file, binary.LittleEndian, mapped)
file.Close()
return mapped
}

@ -1,131 +1,131 @@
package keys
// Common Interface 2, natified go
import (
"fyne.io/fyne"
"fyne.io/fyne/driver/desktop"
)
//ASCIIToKC -- ASCII Value to a KBD Scancode
var ASCIIToKC = map[rune]Code{
'a': CodeA,
'b': CodeB,
'c': CodeC,
'd': CodeD,
'e': CodeE,
'f': CodeF,
'g': CodeG,
'h': CodeH,
'i': CodeI,
'k': CodeK,
'l': CodeL,
'm': CodeM,
'n': CodeN,
'o': CodeO,
'p': CodeP,
'q': CodeQ,
'r': CodeR,
's': CodeS,
't': CodeT,
'u': CodeU,
'v': CodeV,
'w': CodeW,
'x': CodeX,
'y': CodeY,
'z': CodeZ,
'0': Code0,
'1': Code1,
'2': Code2,
'3': Code3,
'4': Code4,
'5': Code5,
'6': Code6,
'7': Code7,
'8': Code8,
'9': Code9,
' ': CodeSpace,
'-': CodeMinus,
'=': CodeEqual,
'[': CodeLeftBrack,
']': CodeRightBrace,
'\\': CodeBackslash,
';': CodeSemicolon,
'\'': CodeApostrophe,
'`': CodeGrave,
',': CodeComma,
'.': CodeDot,
'/': CodeSlash,
}
//FyneToKC - conversion between fyne to ode
var FyneToKC = map[fyne.KeyName]Code{
fyne.Key0: Code0,
fyne.Key1: Code1,
fyne.Key2: Code2,
fyne.Key3: Code3,
fyne.Key4: Code4,
fyne.Key5: Code5,
fyne.Key6: Code6,
fyne.Key7: Code7,
fyne.Key8: Code8,
fyne.Key9: Code9,
fyne.KeyA: CodeA,
fyne.KeyB: CodeB,
fyne.KeyC: CodeC,
fyne.KeyD: CodeD,
fyne.KeyE: CodeE,
fyne.KeyF: CodeF,
fyne.KeyG: CodeG,
fyne.KeyH: CodeH,
fyne.KeyI: CodeI,
fyne.KeyJ: CodeJ,
fyne.KeyK: CodeK,
fyne.KeyL: CodeL,
fyne.KeyM: CodeM,
fyne.KeyN: CodeN,
fyne.KeyO: CodeO,
fyne.KeyP: CodeP,
fyne.KeyQ: CodeQ,
fyne.KeyR: CodeR,
fyne.KeyS: CodeS,
fyne.KeyT: CodeT,
fyne.KeyU: CodeU,
fyne.KeyV: CodeV,
fyne.KeyW: CodeW,
fyne.KeyX: CodeX,
fyne.KeyY: CodeY,
fyne.KeyZ: CodeZ,
fyne.KeyUp: CodeUpArrow,
fyne.KeyDown: CodeDownArrow,
fyne.KeyRight: CodeRightArrow,
fyne.KeyLeft: CodeLeftArrow,
fyne.KeyEnd: CodeEnd,
fyne.KeyHome: CodeHome,
fyne.KeyInsert: CodeInsert,
fyne.KeyDelete: CodeDelete,
fyne.KeyEnter: CodeEnter,
fyne.KeyTab: CodeTab,
fyne.KeyEscape: CodeESC,
fyne.KeyF1: CodeF1,
fyne.KeyF2: CodeF2,
fyne.KeyF3: CodeF3,
fyne.KeyF4: CodeF4,
fyne.KeyF5: CodeF5,
fyne.KeyF6: CodeF6,
fyne.KeyF7: CodeF7,
fyne.KeyF8: CodeF8,
fyne.KeyF9: CodeF9,
fyne.KeyF10: CodeF10,
fyne.KeyF11: CodeF11,
fyne.KeyF12: CodeF12,
fyne.KeyPageDown: CodePageDown,
fyne.KeyPageUp: CodePageUp,
fyne.KeySpace: CodeSpace,
fyne.KeyBackTick: CodeGrave,
desktop.KeyAltLeft: CodeLeftAlt,
desktop.KeyAltRight: CodeRightAlt,
desktop.KeyControlLeft: CodeLeftCntl,
desktop.KeyControlRight: CodeRightControl,
desktop.KeyShiftLeft: CodeLeftShift,
desktop.KeyShiftRight: CodeRightShift,
}
package keys
// Common Interface 2, natified go
import (
"fyne.io/fyne"
"fyne.io/fyne/driver/desktop"
)
//ASCIIToKC -- ASCII Value to a KBD Scancode
var ASCIIToKC = map[rune]Code{
'a': CodeA,
'b': CodeB,
'c': CodeC,
'd': CodeD,
'e': CodeE,
'f': CodeF,
'g': CodeG,
'h': CodeH,
'i': CodeI,
'k': CodeK,
'l': CodeL,
'm': CodeM,
'n': CodeN,
'o': CodeO,
'p': CodeP,
'q': CodeQ,
'r': CodeR,
's': CodeS,
't': CodeT,
'u': CodeU,
'v': CodeV,
'w': CodeW,
'x': CodeX,
'y': CodeY,
'z': CodeZ,
'0': Code0,
'1': Code1,
'2': Code2,
'3': Code3,
'4': Code4,
'5': Code5,
'6': Code6,
'7': Code7,
'8': Code8,
'9': Code9,
' ': CodeSpace,
'-': CodeMinus,
'=': CodeEqual,
'[': CodeLeftBrack,
']': CodeRightBrace,
'\\': CodeBackslash,
';': CodeSemicolon,
'\'': CodeApostrophe,
'`': CodeGrave,
',': CodeComma,
'.': CodeDot,
'/': CodeSlash,
}
//FyneToKC - conversion between fyne to ode
var FyneToKC = map[fyne.KeyName]Code{
fyne.Key0: Code0,
fyne.Key1: Code1,
fyne.Key2: Code2,
fyne.Key3: Code3,
fyne.Key4: Code4,
fyne.Key5: Code5,
fyne.Key6: Code6,
fyne.Key7: Code7,
fyne.Key8: Code8,
fyne.Key9: Code9,
fyne.KeyA: CodeA,
fyne.KeyB: CodeB,
fyne.KeyC: CodeC,
fyne.KeyD: CodeD,
fyne.KeyE: CodeE,
fyne.KeyF: CodeF,
fyne.KeyG: CodeG,
fyne.KeyH: CodeH,
fyne.KeyI: CodeI,
fyne.KeyJ: CodeJ,
fyne.KeyK: CodeK,
fyne.KeyL: CodeL,
fyne.KeyM: CodeM,
fyne.KeyN: CodeN,
fyne.KeyO: CodeO,
fyne.KeyP: CodeP,
fyne.KeyQ: CodeQ,
fyne.KeyR: CodeR,
fyne.KeyS: CodeS,
fyne.KeyT: CodeT,
fyne.KeyU: CodeU,
fyne.KeyV: CodeV,
fyne.KeyW: CodeW,
fyne.KeyX: CodeX,
fyne.KeyY: CodeY,
fyne.KeyZ: CodeZ,
fyne.KeyUp: CodeUpArrow,
fyne.KeyDown: CodeDownArrow,
fyne.KeyRight: CodeRightArrow,
fyne.KeyLeft: CodeLeftArrow,
fyne.KeyEnd: CodeEnd,
fyne.KeyHome: CodeHome,
fyne.KeyInsert: CodeInsert,
fyne.KeyDelete: CodeDelete,
fyne.KeyEnter: CodeEnter,
fyne.KeyTab: CodeTab,
fyne.KeyEscape: CodeESC,
fyne.KeyF1: CodeF1,
fyne.KeyF2: CodeF2,
fyne.KeyF3: CodeF3,
fyne.KeyF4: CodeF4,
fyne.KeyF5: CodeF5,
fyne.KeyF6: CodeF6,
fyne.KeyF7: CodeF7,
fyne.KeyF8: CodeF8,
fyne.KeyF9: CodeF9,
fyne.KeyF10: CodeF10,
fyne.KeyF11: CodeF11,
fyne.KeyF12: CodeF12,
fyne.KeyPageDown: CodePageDown,
fyne.KeyPageUp: CodePageUp,
fyne.KeySpace: CodeSpace,
fyne.KeyBackTick: CodeGrave,
desktop.KeyAltLeft: CodeLeftAlt,
desktop.KeyAltRight: CodeRightAlt,
desktop.KeyControlLeft: CodeLeftCntl,
desktop.KeyControlRight: CodeRightControl,
desktop.KeyShiftLeft: CodeLeftShift,
desktop.KeyShiftRight: CodeRightShift,
}

@ -1,45 +1,45 @@
package keys
import (
"fyne.io/fyne"
)
var (
//KCToASCII keycode to ascii table
KCToASCII map[Code]rune
)
//GetASCIIForSC Returns Ascii for Scancode
func GetASCIIForSC(r uint16) uint16 {
return uint16(KCToASCII[Code(r)])
}
//GetSCForASCII Returns scancode For Ascii
func GetSCForASCII(r uint16) uint16 {
return uint16(ASCIIToKC[rune(r)])
}
func init() {
KCToASCII = make(map[Code]rune)
for x, y := range ASCIIToKC {
KCToASCII[y] = x
}
}
//CKIFyneKeyMap Control Keys interop
func CKIFyneKeyMap(e fyne.KeyName) uint16 {
if val, ok := FyneToKC[e]; ok {
return uint16(val)
}
return 0
}
//CKIKeyNameFromKC Key Name from Keycode
func CKIKeyNameFromKC(r uint16) string {
return Code(r).String()[4:]
}
//CKIKeyNameFromASCII key name from ascii code
func CKIKeyNameFromASCII(r uint16) string {
return ASCIIToKC[rune(r)].String()[4:]
}
package keys
import (
"fyne.io/fyne"
)
var (
//KCToASCII keycode to ascii table
KCToASCII map[Code]rune
)
//GetASCIIForSC Returns Ascii for Scancode
func GetASCIIForSC(r uint16) uint16 {
return uint16(KCToASCII[Code(r)])
}
//GetSCForASCII Returns scancode For Ascii
func GetSCForASCII(r uint16) uint16 {
return uint16(ASCIIToKC[rune(r)])
}
func init() {
KCToASCII = make(map[Code]rune)
for x, y := range ASCIIToKC {
KCToASCII[y] = x
}
}
//CKIFyneKeyMap Control Keys interop
func CKIFyneKeyMap(e fyne.KeyName) uint16 {
if val, ok := FyneToKC[e]; ok {
return uint16(val)
}
return 0
}
//CKIKeyNameFromKC Key Name from Keycode
func CKIKeyNameFromKC(r uint16) string {
return Code(r).String()[4:]
}
//CKIKeyNameFromASCII key name from ascii code
func CKIKeyNameFromASCII(r uint16) string {
return ASCIIToKC[rune(r)].String()[4:]
}

@ -1,109 +1,109 @@
//go:generate stringer --type Code
//Package keys provides back end keymapping
package keys
//Code ScanCode object
type Code uint16
const (
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
)
//go:generate stringer --type Code
//Package keys provides back end keymapping
package keys
//Code ScanCode object
type Code uint16
const (
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
)

Binary file not shown.

@ -1,23 +1,23 @@
package baseui
import (
"fyne.io/fyne"
"fyne.io/fyne/widget"
"github.com/minizbot2012/orbbind/keymap/orbweaver"
)
//BasicPage creates a very basic Page
type BasicPage interface {
Create() *widget.TabItem
}
//PageWithBindings defines a page with bindings
type PageWithBindings interface {
BasicPage
SetBindings(*orbweaver.PKM)
}
//DialogPage is a dialog popup
type DialogPage interface {
Create() *fyne.CanvasObject
}
package baseui
import (
"fyne.io/fyne"
"fyne.io/fyne/widget"
"github.com/minizbot2012/orbbind/keymap/orbweaver"
)
//BasicPage creates a very basic Page
type BasicPage interface {
Create() *widget.TabItem
}
//PageWithBindings defines a page with bindings
type PageWithBindings interface {
BasicPage
SetBindings(*orbweaver.PKM)
}
//DialogPage is a dialog popup
type DialogPage interface {
Create() *fyne.CanvasObject
}

@ -1,67 +1,67 @@
package bind
import (
"fyne.io/fyne"
"fyne.io/fyne/driver/desktop"
"fyne.io/fyne/layout"
"fyne.io/fyne/widget"
"github.com/minizbot2012/orbbind/keys"
"github.com/minizbot2012/orbbind/ui/baseui"
)
//BindingInfo Genral data to use in a channel
type BindingInfo struct {
Bindid int
Bound uint16
}
//Page Binding UI
type Page struct {
baseui.DialogPage
dev map[string]fyne.CanvasObject
Bind BindingInfo
window fyne.Window
}
//TypeKey event on key
func (bp *Page) TypeKey(e *fyne.KeyEvent) {
bp.Bind.Bound = keys.CKIFyneKeyMap(e.Name)
kp := keys.CKIKeyNameFromKC(bp.Bind.Bound)
bp.dev["BL"].(*widget.Label).SetText(kp)
}
func (bp *Page) createGrid() *fyne.Container {
cont := fyne.NewContainerWithLayout(layout.NewGridLayoutWithColumns(4))
cont.AddObject(widget.NewButton("Clear", func() {
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}) })
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(k3)
cont.AddObject(k5)
cont.AddObject(k7)
return cont
}
//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.CKIKeyNameFromKC(bp.Bind.Bound))
pop := widget.NewVBox(bp.dev["BL"], bp.createGrid())
bp.window.Canvas().SetOnTypedKey(bp.TypeKey)
return pop
}
//NewBindPage Create a new bind popup
func NewBindPage(bid int, w fyne.Window, def uint16) *Page {
p := &Page{}
p.window = w
p.Bind.Bindid = bid
p.Bind.Bound = def
return p
}
package bind
import (
"fyne.io/fyne"
"fyne.io/fyne/driver/desktop"
"fyne.io/fyne/layout"
"fyne.io/fyne/widget"
"github.com/minizbot2012/orbbind/keys"
"github.com/minizbot2012/orbbind/ui/baseui"
)
//BindingInfo Genral data to use in a channel
type BindingInfo struct {
Bindid int
Bound uint16
}
//Page Binding UI
type Page struct {
baseui.DialogPage
dev map[string]fyne.CanvasObject
Bind BindingInfo
window fyne.Window
}
//TypeKey event on key
func (bp *Page) TypeKey(e *fyne.KeyEvent) {
bp.Bind.Bound = keys.CKIFyneKeyMap(e.Name)
kp := keys.CKIKeyNameFromKC(bp.Bind.Bound)
bp.dev["BL"].(*widget.Label).SetText(kp)
}
func (bp *Page) createGrid() *fyne.Container {
cont := fyne.NewContainerWithLayout(layout.NewGridLayoutWithColumns(4))
cont.AddObject(widget.NewButton("Clear", func() {
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}) })
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(k3)
cont.AddObject(k5)
cont.AddObject(k7)
return cont
}
//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.CKIKeyNameFromKC(bp.Bind.Bound))
pop := widget.NewVBox(bp.dev["BL"], bp.createGrid())
bp.window.Canvas().SetOnTypedKey(bp.TypeKey)
return pop
}
//NewBindPage Create a new bind popup
func NewBindPage(bid int, w fyne.Window, def uint16) *Page {
p := &Page{}
p.window = w
p.Bind.Bindid = bid
p.Bind.Bound = def
return p
}

@ -1,60 +1,60 @@
package mainpage
import (
"strconv"
"fyne.io/fyne"
"fyne.io/fyne/dialog"
"fyne.io/fyne/layout"
"fyne.io/fyne/widget"
"github.com/minizbot2012/orbbind/keymap/orbweaver"
"github.com/minizbot2012/orbbind/ui/baseui"
"github.com/minizbot2012/orbbind/ui/bind"
)
//Page is a basic page
type Page struct {
baseui.PageWithBindings
binds *orbweaver.PKM
dev map[string]fyne.CanvasObject
parent fyne.Window
}
func (mp *Page) createButtons() {
for i := 0; i < 4; i++ {
for j := 0; j < 5; j++ {
id := (j + i*5 + 1)
mp.dev["B"+strconv.Itoa(id)] = widget.NewButton(strconv.Itoa(id), func() {
popup := bind.NewBindPage(id, mp.parent, mp.binds.MIP[id-1])
dialog.ShowCustomConfirm("Binding", "Set", "Cancel", popup.Create(string(id)), func(b bool) {
if b {
mp.binds.MIP[popup.Bind.Bindid-1] = popup.Bind.Bound
}
}, mp.parent)
})
mp.dev["V"].(*fyne.Container).AddObject(mp.dev["B"+strconv.Itoa(id)])
}
}
}
//SetBindings Sets the binding Map
func (mp *Page) SetBindings(o *orbweaver.PKM) {
mp.binds = o
}
//Create Creates the main binding page
func (mp *Page) Create() *widget.TabItem {
mp.dev = make(map[string]fyne.CanvasObject)
layout := layout.NewGridLayout(5)
mp.dev["V"] = fyne.NewContainerWithLayout(layout)
mp.createButtons()
return widget.NewTabItem("Main Bindings", mp.dev["V"])
}
//NewMainPage Creates a new main page
func NewMainPage(parent fyne.Window, pkm *orbweaver.PKM) *Page {
mp := &Page{}
mp.binds = pkm
mp.parent = parent
return mp
}
package mainpage
import (
"strconv"
"fyne.io/fyne"
"fyne.io/fyne/dialog"
"fyne.io/fyne/layout"
"fyne.io/fyne/widget"
"github.com/minizbot2012/orbbind/keymap/orbweaver"
"github.com/minizbot2012/orbbind/ui/baseui"
"github.com/minizbot2012/orbbind/ui/bind"
)
//Page is a basic page
type Page struct {
baseui.PageWithBindings
binds *orbweaver.PKM
dev map[string]fyne.CanvasObject
parent fyne.Window
}
func (mp *Page) createButtons() {
for i := 0; i < 4; i++ {
for j := 0; j < 5; j++ {
id := (j + i*5 + 1)
mp.dev["B"+strconv.Itoa(id)] = widget.NewButton(strconv.Itoa(id), func() {
popup := bind.NewBindPage(id, mp.parent, mp.binds.MIP[id-1])
dialog.ShowCustomConfirm("Binding", "Set", "Cancel", popup.Create(string(id)), func(b bool) {
if b {
mp.binds.MIP[popup.Bind.Bindid-1] = popup.Bind.Bound
}
}, mp.parent)
})
mp.dev["V"].(*fyne.Container).AddObject(mp.dev["B"+strconv.Itoa(id)])
}
}
}
//SetBindings Sets the binding Map
func (mp *Page) SetBindings(o *orbweaver.PKM) {
mp.binds = o
}
//Create Creates the main binding page
func (mp *Page) Create() *widget.TabItem {
mp.dev = make(map[string]fyne.CanvasObject)
layout := layout.NewGridLayout(5)
mp.dev["V"] = fyne.NewContainerWithLayout(layout)
mp.createButtons()
return widget.NewTabItem("Main Bindings", mp.dev["V"])
}
//NewMainPage Creates a new main page
func NewMainPage(parent fyne.Window, pkm *orbweaver.PKM) *Page {
mp := &Page{}
mp.binds = pkm
mp.parent = parent
return mp
}

@ -1,53 +1,53 @@
package sidepage
import (
"strconv"
"fyne.io/fyne"
"fyne.io/fyne/dialog"
"fyne.io/fyne/layout"
"fyne.io/fyne/widget"
"github.com/minizbot2012/orbbind/keymap/orbweaver"
"github.com/minizbot2012/orbbind/ui/baseui"
"github.com/minizbot2012/orbbind/ui/bind"
)
//Page Overweave side button configs
type Page struct {
baseui.PageWithBindings
binds *orbweaver.PKM
dev map[string]fyne.CanvasObject
parent fyne.Window
}
//SetBindings Loads bindings from SIP
func (p *Page) SetBindings(o *orbweaver.PKM) {
p.binds = o
}
//Create Creates the page
func (p *Page) Create() *widget.TabItem {
p.dev = make(map[string]fyne.CanvasObject)
strs := []string{"Upper Button", "Dpad Up", "Dpad Right", "Dpad Down", "Dpad Left", "Lower Button"}
for j := 0; j < 6; j++ {
id := j + 1
p.dev["B"+strconv.Itoa(id)] = widget.NewButton(strs[j], func() {
popup := bind.NewBindPage(id, p.parent, p.binds.SIP[id-1])
dialog.ShowCustomConfirm("Binding", "Set", "Cancel", popup.Create(string(id)), func(b bool) {
if b {
p.binds.SIP[popup.Bind.Bindid-1] = popup.Bind.Bound
}
}, p.parent)
})
}
cont := fyne.NewContainerWithLayout(layout.NewBorderLayout(p.dev["B2"], p.dev["B4"], p.dev["B5"], p.dev["B3"]), p.dev["B2"], p.dev["B4"], p.dev["B5"], p.dev["B3"], widget.NewVBox(p.dev["B1"], p.dev["B6"]))
return widget.NewTabItem("Side Config", cont)
}
//NewSidePage Creates a new side configuration page
func NewSidePage(parent fyne.Window, pkm *orbweaver.PKM) *Page {
p := &Page{}
p.binds = pkm
p.parent = parent
return p
}
package sidepage
import (
"strconv"
"fyne.io/fyne"
"fyne.io/fyne/dialog"
"fyne.io/fyne/layout"
"fyne.io/fyne/widget"
"github.com/minizbot2012/orbbind/keymap/orbweaver"
"github.com/minizbot2012/orbbind/ui/baseui"
"github.com/minizbot2012/orbbind/ui/bind"
)
//Page Overweave side button configs
type Page struct {
baseui.PageWithBindings
binds *orbweaver.PKM
dev map[string]fyne.CanvasObject
parent fyne.Window
}
//SetBindings Loads bindings from SIP
func (p *Page) SetBindings(o *orbweaver.PKM) {
p.binds = o
}
//Create Creates the page
func (p *Page) Create() *widget.TabItem {
p.dev = make(map[string]fyne.CanvasObject)
strs := []string{"Upper Button", "Dpad Up", "Dpad Right", "Dpad Down", "Dpad Left", "Lower Button"}
for j := 0; j < 6; j++ {
id := j + 1
p.dev["B"+strconv.Itoa(id)] = widget.NewButton(strs[j], func() {
popup := bind.NewBindPage(id, p.parent, p.binds.SIP[id-1])
dialog.ShowCustomConfirm("Binding", "Set", "Cancel", popup.Create(string(id)), func(b bool) {
if b {
p.binds.SIP[popup.Bind.Bindid-1] = popup.Bind.Bound
}
}, p.parent)
})
}
cont := fyne.NewContainerWithLayout(layout.NewBorderLayout(p.dev["B2"], p.dev["B4"], p.dev["B5"], p.dev["B3"]), p.dev["B2"], p.dev["B4"], p.dev["B5"], p.dev["B3"], widget.NewVBox(p.dev["B1"], p.dev["B6"]))
return widget.NewTabItem("Side Config", cont)
}
//NewSidePage Creates a new side configuration page
func NewSidePage(parent fyne.Window, pkm *orbweaver.PKM) *Page {
p := &Page{}
p.binds = pkm
p.parent = parent
return p
}

Loading…
Cancel
Save