diff --git a/sdcard/keys.lua b/sdcard/keys.lua index 44a6b7d..9ae32ae 100644 --- a/sdcard/keys.lua +++ b/sdcard/keys.lua @@ -3,5 +3,6 @@ require "layouts/shift" -- for cycling between layouts. require "layouts/media-player" -- indispensable media player controls. --require "layouts/vsc-golang" -- debugging Go programs in VisualStudio Code. --require "layouts/kdenlive" -- editing video using Kdenlive. -require "layouts/numpad" -- numpad with shift layout +require "layouts/numpad" -- numpad with shift layout. +require "layouts/tmux" -- tmux layout using ` as prefix require "layouts/empty" -- empty, do-nothing layout. diff --git a/sdcard/layouts/numpad.lua b/sdcard/layouts/numpad.lua index 24c4a5d..0da3e8f 100644 --- a/sdcard/layouts/numpad.lua +++ b/sdcard/layouts/numpad.lua @@ -1,4 +1,4 @@ -local km = _G.km or {} +local mp = _G.mp or {} local mb = require("snippets/multibow") --[[ @@ -18,65 +18,65 @@ cable going off "northwards": ]]-- -- Instead of using 0 to 11, i renamed them to row/colums -km.A1 = km.A1 or 11 -km.A2 = km.A2 or 10 -km.A3 = km.A3 or 9 +mp.A1 = mp.A1 or 11 +mp.A2 = mp.A2 or 10 +mp.A3 = mp.A3 or 9 -km.B1 = km.B1 or 8 -km.B2 = km.B2 or 7 -km.B3 = km.B3 or 6 +mp.B1 = mp.B1 or 8 +mp.B2 = mp.B2 or 7 +mp.B3 = mp.B3 or 6 -km.C1 = km.C1 or 5 -km.C2 = km.C2 or 4 -km.C3 = km.C3 or 3 +mp.C1 = mp.C1 or 5 +mp.C2 = mp.C2 or 4 +mp.C3 = mp.C3 or 3 -km.D1 = km.D1 or 2 -km.D2 = km.D2 or 1 -km.D3 = km.D3 or 0 +mp.D1 = mp.D1 or 2 +mp.D2 = mp.D2 or 1 +mp.D3 = mp.D3 or 0 -- Setup shift key -function km.unshift(_) - mb.activate_keymap(km.keymap.name) +function mp.unshift(_) + mb.activate_keymap(mp.keymap.name) end -- The keymap layout... -km.keymap = { - name="numpad", +mp.keymap = { + name="mp", -- A1 is the shift key, so we skip that - [km.A2] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("0") end}, - [km.A3] = { c={r=0, g=0, b=1}, press=function() mb.tap(keybow.ENTER) end}, - [km.B1] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("9") end}, - [km.B2] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("6") end}, - [km.B3] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("3") end}, - [km.C1] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("8") end}, - [km.C2] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("5") end}, - [km.C3] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("2") end}, - [km.D1] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("7") end}, - [km.D2] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("4") end}, - [km.D3] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("1") end}, + [mp.A2] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("0") end}, + [mp.A3] = { c={r=0, g=0, b=1}, press=function() mb.tap(keybow.ENTER) end}, + [mp.B1] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("9") end}, + [mp.B2] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("6") end}, + [mp.B3] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("3") end}, + [mp.C1] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("8") end}, + [mp.C2] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("5") end}, + [mp.C3] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("2") end}, + [mp.D1] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("7") end}, + [mp.D2] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("4") end}, + [mp.D3] = { c={r=0, g=1, b=0.5}, press=function() mb.tap("1") end}, } -km.keymap_shifted = { - name="numpad-shifted", +mp.keymap_shifted = { + name="mp-shifted", secondary=true, - [km.A2] = { c={r=0, g=1, b=0}, press=function() mb.tap(".") end}, - [km.A3] = { c={r=0, g=1, b=0}, press=function() mb.tap(",") end}, - [km.B1] = { c={r=0, g=1, b=1}, press=function() mb.tap("+") end}, - [km.C1] = { c={r=0, g=1, b=1}, press=function() mb.tap("-") end}, - [km.D1] = { c={r=0, g=1, b=1}, press=function() mb.tap("=") end}, - [km.B2] = { c={r=0, g=1, b=1}, press=function() mb.tap("/") end}, - [km.C2] = { c={r=0, g=1, b=1}, press=function() mb.tap("%") end}, - [km.D2] = { c={r=1, g=1, b=0}, press=function() mb.tap("$") end}, - [km.B3] = { c={r=1, g=0, b=0}, press=function() mb.tap(keybow.BACKSPACE) end}, - [km.C3] = { c={r=1, g=0, b=0}, press=function() mb.tap(keybow.DELETE) end}, - --[km.D3] = { c={r=0.5, g=0.5, b=1}, press=function() mb.tap(keybow.ESC) end}, + [mp.A2] = { c={r=0, g=1, b=0}, press=function() mb.tap(".") end}, + [mp.A3] = { c={r=0, g=1, b=0}, press=function() mb.tap(",") end}, + [mp.B1] = { c={r=0, g=1, b=1}, press=function() mb.tap("+") end}, + [mp.C1] = { c={r=0, g=1, b=1}, press=function() mb.tap("-") end}, + [mp.D1] = { c={r=0, g=1, b=1}, press=function() mb.tap("=") end}, + [mp.B2] = { c={r=0, g=1, b=1}, press=function() mb.tap("/") end}, + [mp.C2] = { c={r=0, g=1, b=1}, press=function() mb.tap("%") end}, + [mp.D2] = { c={r=1, g=1, b=0}, press=function() mb.tap("$") end}, + [mp.B3] = { c={r=1, g=0, b=0}, press=function() mb.tap(keybow.BACKSPACE) end}, + [mp.C3] = { c={r=1, g=0, b=0}, press=function() mb.tap(keybow.DELETE) end}, + --[mp.D3] = { c={r=0.5, g=0.5, b=1}, press=function() mb.tap(keybow.ESC) end}, - [-1] = {release=km.unshift}, + [-1] = {release=mp.unshift}, } -km.keymap.shift_to = km.keymap_shifted -km.keymap_shifted.shift_to = km.keymap - -mb.register_keymap(km.keymap) -mb.register_keymap(km.keymap_shifted) +mp.keymap.shift_to = mp.keymap_shifted +mp.keymap_shifted.shift_to = mp.keymap +mb.register_keymap(mp.keymap) +mb.register_keymap(mp.keymap_shifted) +return mp diff --git a/sdcard/layouts/tmux.lua b/sdcard/layouts/tmux.lua new file mode 100644 index 0000000..e08a0b0 --- /dev/null +++ b/sdcard/layouts/tmux.lua @@ -0,0 +1,45 @@ +local tm = {} +local mb = require("snippets/multibow") +--[[ +The Keybow layout is as follows when in landscape orientation, with the USB +cable going off "northwards": + + ┋┋ +┌╌╌╌╌┐ ┌╌╌╌╌┐ ┌╌╌╌╌┐ ┌╌╌╌╌┐ +┊ A1 ┊ ┊ B1 ┊ ┊ C1 ┊ ┊ D1 ┊ +└╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘ +┌╌╌╌╌┐ ┌╌╌╌╌┐ ┌╌╌╌╌┐ ┌╌╌╌╌┐ +┊ A2 ┊ ┊ B2 ┊ ┊ C2 ┊ ┊ D2 ┊ +└╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘ +┌╌╌╌╌┐ ┌╌╌╌╌┐ ┌╌╌╌╌┐ ┌╌╌╌╌┐ +┊ A3 ┊ ┊ B3 ┊ ┊ C3 ┊ ┊ D3 ┊ +└╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘ + +]]-- +-- Instead of using 0 to 11, i renamed them to row/colums +tm.A1 = tm.A1 or 11 +tm.A2 = tm.A2 or 10 +tm.A3 = tm.A3 or 9 + +tm.B1 = tm.B1 or 8 +tm.B2 = tm.B2 or 7 +tm.B3 = tm.B3 or 6 + +tm.C1 = tm.C1 or 5 +tm.C2 = tm.C2 or 4 +tm.C3 = tm.C3 or 3 + +tm.D1 = tm.D1 or 2 +tm.D2 = tm.D2 or 1 +tm.D3 = tm.D3 or 0 + +tm.keymap = { + name="tmux", + [8] = { c={r=0, g=1, b=1}, press=function() mb.tap("`", "b") end}, + [10] = { c={r=0, g=1, b=1}, press=function() mb.tap("`", "v") end}, + [7] = { c={r=0, g=1, b=1}, press=function() mb.tap("`", "c") end}, + +} + +mb.register_keymap(tm.keymap) +return tm