add go modules
This commit is contained in:
34
ui/keyinput.go
Normal file
34
ui/keyinput.go
Normal file
@ -0,0 +1,34 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"lab.zaar.be/thefish/alchemyst-go/util"
|
||||
blt "lab.zaar.be/thefish/bearlibterminal"
|
||||
)
|
||||
|
||||
var modifiers = []int{blt.TK_SHIFT, blt.TK_ALT, blt.TK_CONTROL}
|
||||
|
||||
func ReadKey(ctx util.ClientCtx) (string, int) {
|
||||
if !blt.HasInput() {
|
||||
return "", blt.TK_NONE
|
||||
}
|
||||
var key = blt.Read()
|
||||
var pressed = ""
|
||||
var isModifier, _ = util.InArray(key, modifiers)
|
||||
if !isModifier {
|
||||
|
||||
pressed = Scancodemap[key]
|
||||
|
||||
if blt.Check(blt.TK_SHIFT) != 0 {
|
||||
pressed = "Shift+" + pressed
|
||||
}
|
||||
if blt.Check(blt.TK_ALT) != 0 {
|
||||
pressed = "Alt+" + pressed
|
||||
}
|
||||
if blt.Check(blt.TK_CONTROL) != 0 {
|
||||
pressed = "Ctrl+" + pressed
|
||||
}
|
||||
ctx.Logger().Debug().Msg(pressed)
|
||||
}
|
||||
|
||||
return pressed, key
|
||||
}
|
27
ui/mainwindow/window.go
Normal file
27
ui/mainwindow/window.go
Normal file
@ -0,0 +1,27 @@
|
||||
package mainwindow
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"lab.zaar.be/thefish/alchemyst-go/util"
|
||||
blt "lab.zaar.be/thefish/bearlibterminal"
|
||||
)
|
||||
|
||||
func Init(ctx util.ClientCtx) {
|
||||
ctx.Logger().Info().Msgf("Opening main window...")
|
||||
config := ctx.Config()
|
||||
blt.Open()
|
||||
//blt.Set("window: size=80x25, title="+config.Title+" v"+string(version)+"; font: ./fonts/Monaco-Linux.ttf, size=10")
|
||||
blt.Set(
|
||||
fmt.Sprintf("window: size=%dx%d, title=%s v%s; font: ./resources/fonts-bitmap/ibmnew8x12.png, size=8x12;",
|
||||
config.MainWindowSizeX,
|
||||
config.MainWindowSizeY,
|
||||
config.Title,
|
||||
config.Version,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
func Shutdown(ctx util.ClientCtx) {
|
||||
ctx.Logger().Info().Msg("Closing main window...")
|
||||
blt.Close()
|
||||
}
|
100
ui/scancodemap.go
Normal file
100
ui/scancodemap.go
Normal file
@ -0,0 +1,100 @@
|
||||
package ui
|
||||
|
||||
import blt "lab.zaar.be/thefish/bearlibterminal"
|
||||
|
||||
var Scancodemap = map[int]string{
|
||||
blt.TK_A: "a",
|
||||
blt.TK_B: "b",
|
||||
blt.TK_C: "c",
|
||||
blt.TK_D: "d",
|
||||
blt.TK_E: "e",
|
||||
blt.TK_F: "f",
|
||||
blt.TK_G: "g",
|
||||
blt.TK_H: "h",
|
||||
blt.TK_I: "i",
|
||||
blt.TK_J: "j",
|
||||
blt.TK_K: "k",
|
||||
blt.TK_L: "l",
|
||||
blt.TK_M: "m",
|
||||
blt.TK_N: "n",
|
||||
blt.TK_O: "o",
|
||||
blt.TK_P: "p",
|
||||
blt.TK_Q: "q",
|
||||
blt.TK_R: "r",
|
||||
blt.TK_S: "s",
|
||||
blt.TK_T: "t",
|
||||
blt.TK_U: "u",
|
||||
blt.TK_V: "v",
|
||||
blt.TK_W: "w",
|
||||
blt.TK_X: "x",
|
||||
blt.TK_Y: "y",
|
||||
blt.TK_Z: "z",
|
||||
blt.TK_1: "1",
|
||||
blt.TK_2: "2",
|
||||
blt.TK_3: "3",
|
||||
blt.TK_4: "4",
|
||||
blt.TK_5: "5",
|
||||
blt.TK_6: "6",
|
||||
blt.TK_7: "7",
|
||||
blt.TK_8: "8",
|
||||
blt.TK_9: "9",
|
||||
blt.TK_0: "0",
|
||||
blt.TK_ENTER: "Enter",
|
||||
blt.TK_ESCAPE: "Escape",
|
||||
blt.TK_BACKSPACE: "Backspace",
|
||||
blt.TK_TAB: "Tab",
|
||||
blt.TK_SPACE: "Space",
|
||||
blt.TK_MINUS: "-",
|
||||
blt.TK_EQUALS: "=",
|
||||
blt.TK_LBRACKET: "LBracket",
|
||||
blt.TK_RBRACKET: "RBracket",
|
||||
blt.TK_BACKSLASH: "\\",
|
||||
blt.TK_SEMICOLON: ";",
|
||||
blt.TK_APOSTROPHE: "'",
|
||||
blt.TK_GRAVE: "`",
|
||||
blt.TK_COMMA: ",",
|
||||
blt.TK_PERIOD: ".",
|
||||
blt.TK_SLASH: "/",
|
||||
blt.TK_F1: "F1",
|
||||
blt.TK_F2: "F2",
|
||||
blt.TK_F3: "F3",
|
||||
blt.TK_F4: "F4",
|
||||
blt.TK_F5: "F5",
|
||||
blt.TK_F6: "F6",
|
||||
blt.TK_F7: "F7",
|
||||
blt.TK_F8: "F8",
|
||||
blt.TK_F9: "F9",
|
||||
blt.TK_F10: "F10",
|
||||
blt.TK_F11: "F11",
|
||||
blt.TK_F12: "F12",
|
||||
blt.TK_PAUSE: "Pause",
|
||||
blt.TK_INSERT: "Insert",
|
||||
blt.TK_HOME: "Home",
|
||||
blt.TK_PAGEUP: "PageUp",
|
||||
blt.TK_DELETE: "Delete",
|
||||
blt.TK_END: "End",
|
||||
blt.TK_PAGEDOWN: "PageDown",
|
||||
blt.TK_RIGHT: "Right",
|
||||
blt.TK_LEFT: "Left",
|
||||
blt.TK_DOWN: "Down",
|
||||
blt.TK_UP: "Up",
|
||||
blt.TK_KP_DIVIDE: "KP_DIVIDE",
|
||||
blt.TK_KP_MULTIPLY: "KP_MULTIPLY",
|
||||
blt.TK_KP_MINUS: "KP_MINUS",
|
||||
blt.TK_KP_PLUS: "KP_PLUS",
|
||||
blt.TK_KP_ENTER: "KP_ENTER",
|
||||
blt.TK_KP_1: "KP_1",
|
||||
blt.TK_KP_2: "KP_2",
|
||||
blt.TK_KP_3: "KP_3",
|
||||
blt.TK_KP_4: "KP_4",
|
||||
blt.TK_KP_5: "KP_5",
|
||||
blt.TK_KP_6: "KP_6",
|
||||
blt.TK_KP_7: "KP_7",
|
||||
blt.TK_KP_8: "KP_8",
|
||||
blt.TK_KP_9: "KP_9",
|
||||
blt.TK_KP_0: "KP_0",
|
||||
blt.TK_KP_PERIOD: "KP_PERIOD",
|
||||
blt.TK_SHIFT: "SHIFT",
|
||||
blt.TK_CONTROL: "CONTROL",
|
||||
blt.TK_ALT: "ALT",
|
||||
}
|
Reference in New Issue
Block a user