diff --git a/cmd/qmkasciigen/draw.go b/cmd/qmkasciigen/draw.go index 6e1acce..98808d4 100644 --- a/cmd/qmkasciigen/draw.go +++ b/cmd/qmkasciigen/draw.go @@ -64,9 +64,15 @@ var mapFromTo = []map[string]string{ }, } +type DrawConfig struct { + PrintLayout bool + PrintLayer bool +} + func Draw( layouts map[string]map[string][]QMKKeyDictionary, keymap QMKKeymap, + cfg DrawConfig, ) string { layoutsStr := make([]string, 0, len(layouts)) @@ -81,7 +87,10 @@ func Draw( continue } - layoutStr := fmt.Sprintf("Layout %s\n", layout) + layoutStr := "" + if cfg.PrintLayout { + layoutStr += fmt.Sprintf("Layout %s\n", layout) + } // Preprocess keys // Y aka row -> X aka col @@ -179,7 +188,11 @@ func Draw( } // Print - layerStr := fmt.Sprintf("Layer %d\n", iLayer) + layerStr := "" + if cfg.PrintLayer { + layerStr += fmt.Sprintf("Layer %d\n", iLayer) + } + for i := range table { for j := range table[i] { layerStr += table[i][j] diff --git a/cmd/qmkasciigen/main.go b/cmd/qmkasciigen/main.go index abcf5b2..a0f8153 100644 --- a/cmd/qmkasciigen/main.go +++ b/cmd/qmkasciigen/main.go @@ -29,6 +29,8 @@ var ( flagQMKInfoFile string flagQMKKeymapFile string flagOutput string + flagPrintLayout bool + flagPrintLayer bool ) func init() { @@ -38,6 +40,8 @@ func init() { flag.StringVar(&flagQMKInfoFile, "qmk-info-file", "", "QMK info json file") flag.StringVar(&flagQMKKeymapFile, "qmk-keymap-file", "", "QMK keymap json file") flag.StringVar(&flagOutput, "out", "", "Output file") + flag.BoolVar(&flagPrintLayout, "print-layout", false, "Print layout name") + flag.BoolVar(&flagPrintLayer, "print-layer", false, "Print layer name") } func main() { @@ -48,6 +52,8 @@ func main() { log.Printf("flagQMKInfoFile: [%s]\n", flagQMKInfoFile) log.Printf("flagQMKKeymapFile: [%s]\n", flagQMKKeymapFile) log.Printf("flagOutput: [%s]\n", flagOutput) + log.Printf("flagPrintLayout: [%v]\n", flagPrintLayout) + log.Printf("flagPrintLayer: [%v]\n", flagPrintLayer) } qmkInfo, err := wrapGetQMKInfo(flagQMKKeyboard, flagQMKInfoFile, flagDebug) @@ -63,6 +69,10 @@ func main() { result := Draw( qmkInfo.Layouts, qmkKeymap, + DrawConfig{ + PrintLayout: flagPrintLayout, + PrintLayer: flagPrintLayer, + }, ) if flagDebug { log.Printf("Result:\n%s\n", result)