further port to Fyne v2

pull/3/head
Minizbot2012 3 years ago
parent 079a65bd7d
commit 911cda4fb0
No known key found for this signature in database
GPG Key ID: 977C8ADE12361917

@ -1,45 +1,70 @@
package keys
import (
"fyne.io/fyne/v2"
)
"strings"
var (
//KCToASCII keycode to ascii table
KCToASCII map[Code]rune
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/driver/desktop"
"github.com/OrbTools/OrbCommon/hid"
)
//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)
func FyneToKeymap(e *fyne.KeyEvent) hid.Key {
switch e.Name {
case fyne.Key0:
case fyne.Key1:
case fyne.Key2:
case fyne.Key3:
case fyne.Key4:
case fyne.Key5:
case fyne.Key6:
case fyne.Key7:
case fyne.Key8:
case fyne.Key9:
return hid.GetMappingFromName("DIGIT" + string(e.Name))
case fyne.KeyF1:
case fyne.KeyF2:
case fyne.KeyF3:
case fyne.KeyF4:
case fyne.KeyF5:
case fyne.KeyF6:
case fyne.KeyF7:
case fyne.KeyF8:
case fyne.KeyF9:
case fyne.KeyF10:
case fyne.KeyF11:
case fyne.KeyF12:
return hid.GetMappingFromName(string(e.Name))
case fyne.KeyLeft:
case fyne.KeyRight:
case fyne.KeyUp:
case fyne.KeyDown:
return hid.GetMappingFromName("ARROW_" + strings.ToUpper(string(e.Name)))
case fyne.KeyBackspace:
case fyne.KeyBackslash:
case fyne.KeyEscape:
return hid.GetMappingFromName(strings.ToUpper(string(e.Name)))
case fyne.KeyReturn:
return hid.GetMappingFromName("ENTER")
case desktop.KeyAltLeft:
return hid.GetMappingFromName("ALT_LEFT")
case desktop.KeyAltRight:
return hid.GetMappingFromName("ALT_RIGHT")
case desktop.KeyControlLeft:
return hid.GetMappingFromName("CONTROL_LEFT")
case desktop.KeyControlRight:
return hid.GetMappingFromName("CONTROL_RIGHT")
case desktop.KeyShiftLeft:
return hid.GetMappingFromName("SHIFT_LEFT")
case desktop.KeyShiftRight:
return hid.GetMappingFromName("SHIFT_RIGHT")
case fyne.KeyTab:
return hid.GetMappingFromName("TAB")
default:
return hid.GetMappingFromName("US_" + strings.ToUpper(string(e.Name)))
}
return 0
}
//CKIKeyNameFromKC Key Name from Keycode
func CKIKeyNameFromKC(r uint16) string {
return Code(r).String()[4:]
return hid.GetMappingFromName("USB_RESERVED")
}
//CKIKeyNameFromASCII key name from ascii code
func CKIKeyNameFromASCII(r uint16) string {
return ASCIIToKC[rune(r)].String()[4:]
func KeyFromEvdev(b uint16) hid.Key {
return hid.GetMappingFromLinux(b)
}

Loading…
Cancel
Save