Last active
January 4, 2019 14:31
-
-
Save juzam/a2ffd87d763f8bb7fa320b0732b6d951 to your computer and use it in GitHub Desktop.
Keybow Custom Layout
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "keybow" | |
alt = 0 -- used to cycle key 11 | |
function modifier(key, ...) | |
for i = 1, select('#', ...) do | |
local j = select(i, ...) | |
keybow.set_modifier(j, keybow.KEY_DOWN) | |
end | |
keybow.tap_key(key) | |
for i = 1, select('#', ...) do | |
local j = select(i, ...) | |
keybow.set_modifier(j, keybow.KEY_UP) | |
end | |
end | |
function setup() | |
keybow.auto_lights(false) | |
keybow.clear_lights() | |
math.randomseed(os.time()) | |
--[[ | |
-- startup lights ?? | |
pixels = {9, 6, 3, 0} | |
for pix = 1, 4 do | |
keybow.set_pixel(pixels[pix], math.random(255), math.random(255), math.random(255)) | |
keybow.sleep(1000) | |
keybow.clear_lights() | |
end | |
]] | |
end | |
--- Juzam Custom Layout --- | |
--- Landscape mode ---- | |
--- 11 8 5 2 | |
--- 10 7 4 1 | |
--- 9 6 3 0 | |
--- Top Row | |
-- 11 Browser: ^ "Vimium: visitPreviousTab" | |
-- 8 Tmux: CTRL+b+s "tmux sync panels" | |
-- 5 Tmux: CTRL+b CTRL+b "tmux switch to last window" | |
-- 2 Win: Win+Space "Win: change keyboard lang" | |
--[[ | |
function handle_key_11(pressed) -- Chrome: cycle CTRL+1 / CTRL+2 | |
if pressed then | |
keybow.clear_lights() | |
keybow.set_pixel(11, math.random(255), math.random(255), math.random(255)) | |
if ( alt == 0 ) then | |
modifier("1",keybow.LEFT_CTRL) | |
alt = 1 | |
else | |
modifier("2",keybow.LEFT_CTRL) | |
alt = 0 | |
end | |
end | |
end | |
]] | |
function handle_key_11(pressed) -- Chrome: cycle CTRL+1 / CTRL+2 | |
keybow.set_key("^", pressed) | |
end | |
function handle_key_08(pressed) -- tmux sync panels | |
if pressed then | |
modifier("b",keybow.LEFT_CTRL) | |
keybow.sleep(500) | |
keybow.tap_key("s") | |
keybow.clear_lights() | |
keybow.set_pixel(08, math.random(255), math.random(255), math.random(255)) | |
end | |
end | |
function handle_key_05(pressed) -- tmux switch to last window CTLR+b CTRL+b | |
if pressed then | |
modifier("b",keybow.LEFT_CTRL) | |
modifier("b",keybow.LEFT_CTRL) | |
keybow.clear_lights() | |
keybow.set_pixel(05, math.random(255), math.random(255), math.random(255)) | |
end | |
end | |
function handle_key_02(pressed) -- Win: swap keyboard lang | |
if pressed then | |
keybow.set_modifier(keybow.LEFT_META, keybow.KEY_DOWN) | |
keybow.tap_space() | |
keybow.sleep(750) | |
keybow.set_modifier(keybow.LEFT_META, keybow.KEY_UP) | |
keybow.clear_lights() | |
keybow.set_pixel(02, math.random(255), math.random(255), math.random(255)) | |
end | |
end | |
--- Middle Row - Tmux Windows 1 .. 4 | |
function handle_key_10(pressed) -- tmux win 1 | |
if pressed then | |
modifier("b",keybow.LEFT_CTRL) | |
keybow.tap_key("1", pressed) | |
keybow.clear_lights() | |
keybow.set_pixel(10, math.random(255), math.random(255), math.random(255)) | |
end | |
end | |
function handle_key_07(pressed) -- tmux win 2 | |
if pressed then | |
modifier("b",keybow.LEFT_CTRL) | |
keybow.tap_key("2", pressed) | |
keybow.clear_lights() | |
keybow.set_pixel(07, math.random(255), math.random(255), math.random(255)) | |
end | |
end | |
function handle_key_04(pressed) -- tmux win 3 | |
if pressed then | |
modifier("b",keybow.LEFT_CTRL) | |
keybow.tap_key("3", pressed) | |
keybow.clear_lights() | |
keybow.set_pixel(04, math.random(255), math.random(255), math.random(255)) | |
end | |
end | |
function handle_key_01(pressed) -- tmux win 4 | |
if pressed then | |
modifier("b",keybow.LEFT_CTRL) | |
keybow.tap_key("4", pressed) | |
keybow.clear_lights() | |
keybow.set_pixel(01, math.random(255), math.random(255), math.random(255)) | |
end | |
end | |
--- Bottom Row - switch/launch pinned taskbar items | |
-- 9 Win: launch/switch to Outlook (win+2) | |
-- 6 Win: launch/switch to Firefox (win+7) | |
-- 3 Win: launch/switch to Chrome (win+8) | |
-- 0 Win: launch/switch to Swan (win+6) | |
function handle_key_09(pressed) -- Outlook | |
if pressed then | |
keybow.set_modifier(keybow.LEFT_META, keybow.KEY_DOWN) | |
keybow.tap_key("2", pressed) | |
keybow.set_modifier(keybow.LEFT_META, keybow.KEY_UP) | |
end | |
keybow.clear_lights() | |
keybow.set_pixel(09, math.random(255), math.random(255), math.random(255)) | |
end | |
function handle_key_06(pressed) -- Firefox | |
if pressed then | |
keybow.set_modifier(keybow.LEFT_META, keybow.KEY_DOWN) | |
keybow.tap_key("7", pressed) | |
keybow.set_modifier(keybow.LEFT_META, keybow.KEY_UP) | |
keybow.clear_lights() | |
keybow.set_pixel(06, math.random(255), math.random(255), math.random(255)) | |
end | |
end | |
function handle_key_03(pressed) -- Chrome | |
if pressed then | |
keybow.set_modifier(keybow.LEFT_META, keybow.KEY_DOWN) | |
keybow.tap_key("8", pressed) | |
keybow.set_modifier(keybow.LEFT_META, keybow.KEY_UP) | |
keybow.clear_lights() | |
keybow.set_pixel(03, math.random(255), math.random(255), math.random(255)) | |
end | |
end | |
function handle_key_00(pressed) -- Swan | |
if pressed then | |
keybow.set_modifier(keybow.LEFT_META, keybow.KEY_DOWN) | |
keybow.tap_key("6", pressed) | |
keybow.set_modifier(keybow.LEFT_META, keybow.KEY_UP) | |
keybow.clear_lights() | |
keybow.set_pixel(00, math.random(255), math.random(255), math.random(255)) | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment