From f87e9ea538195599aa4e7fde1663d99c7696fdc5 Mon Sep 17 00:00:00 2001 From: Stefan Dorn Date: Thu, 21 Jan 2016 14:26:08 +0000 Subject: [PATCH] Revert "use fancier? syntax" This reverts commit 1f653839b42df26d6f17d64c9679845f18ff0afa. --- generate_layout.rb | 260 +++++++++++++++++++++------------------------ 1 file changed, 121 insertions(+), 139 deletions(-) diff --git a/generate_layout.rb b/generate_layout.rb index d0fe660..8174ad9 100755 --- a/generate_layout.rb +++ b/generate_layout.rb @@ -131,7 +131,6 @@ class Key "$" => "KEY_4_Dollar", "&" => "KEY_7_Ampersand", "#" => "KEY_3_Pound", - "hash" => "KEY_3_Pound", # "enter" => "KEY_ReturnEnter", "return" => "KEY_ReturnEnter", @@ -229,145 +228,128 @@ HEADER end end -keys_string =< shifted }, %w{ f21 }, %w{ }, + %w{ g }, %w{ " shifted }, %w{ f22 }, %w{ }, + %w{ f }, %w{ ] }, %w{ f23 }, %w{ }, + %w{ q }, %w{ ` }, %w{ f24 }, %w{ }, + %w{ q }, %w{ ` }, %w{ }, %w{ }, # 1.5 + # home + # letter type mod3 type mod4 type mod5 type + %w{ s }, %w{ ) shifted }, %w{ }, %w{ }, + %w{ n }, %w{ _ shifted }, %w{ f13 }, %w{ }, + %w{ r }, %w{ / }, %w{ f14 }, %w{ }, + %w{ t }, %w{ \} shifted }, %w{ f15 }, %w{ }, + %w{ d }, %w{ . }, %w{ f16 }, %w{ }, + %w{ umlaut }, %w{ }, %w{ }, %w{ }, # 1.5 + # bottom + # letter type mod3 type mod4 type mod5 type + %w{ enter }, %w{ }, %w{ }, %w{ }, # 1.5 + %w{ b }, %w{ + shifted }, %w{ }, %w{ }, + %w{ m }, %w{ $ shifted }, %w{ f17 }, %w{ }, + %w{ j }, %w{ & shifted }, %w{ f18 }, %w{ }, + %w{ y }, %w{ # shifted }, %w{ f19 }, %w{ }, + %w{ ; }, %w{ ^ shifted }, %w{ f20 }, %w{ }, + %w{ shift_r capslock }, %w{ }, %w{ }, %w{ }, # 1.5 + # underbottom + # letter type mod3 type mod4 type mod5 type + %w{ mod4 mod4 }, %w{ }, %w{ }, %w{ }, + %w{ left }, %w{ }, %w{ }, %w{ }, + %w{ up }, %w{ }, %w{ }, %w{ }, + %w{ down }, %w{ }, %w{ }, %w{ }, + %w{ right }, %w{ }, %w{ }, %w{ }, + # thumb-top + # letter type mod3 type mod4 type mod5 type + %w{ }, %w{ }, %w{ }, %w{ }, + %w{ }, %w{ }, %w{ }, %w{ }, + # thumb-double + # letter type mod3 type mod4 type mod5 type + %w{ menu }, %w{ }, %w{ }, %w{ }, + %w{ alt }, %w{ }, %w{ }, %w{ }, + %w{ mod3 latch_mod3 }, %w{ NULL }, %w{ NULL }, %w{ NULL }, + # thumb-home + # letter type mod3 type mod4 type mod5 type + %w{ menu }, %w{ }, %w{ }, %w{ }, + %w{ alt }, %w{ }, %w{ }, %w{ }, + %w{ mod3 latch_mod3 }, %w{ NULL }, %w{ NULL }, %w{ NULL }, -[╳1 # L FINGERS (1 to 27?) -# ┰ 0 ┰ 1 ┰ 2 ┰ 3 ┰ 4 ┰ 5 ┰ 6 # - ┃ 0 ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ 6 # basic - ┃ f11 ┃ f1 ┃ f2 ┃ f3 ┃ f4 ┃ f5 ┃ f6 # pun - ┃ f11 ┃ f1 ┃ f2 ┃ f3 ┃ f4 ┃ f5 ┃ f6 # nav - ┃ f11 ┃ f1 ┃ f2 ┃ f3 ┃ f4 ┃ f5 ┃ f6 # funk -# ┰ ◼ ┰ x ┰ v ┰ l ┰ c ┰ w ┰ ◼ # - ┃ x ┃ x ┃ v ┃ l ┃ c ┃ w ┃ tab # basic - ┃ ~ shifted ┃ ~ shifted ┃ [ ┃ ' ┃ < shifted ┃ \\ ┃ # pun - ┃ escape ┃ escape ┃ backspace ┃ enter ┃ delete ┃ insert ┃ # nav - ┃ ┃ ┃ ┃ ┃ ┃ ┃ # funk -# ┰ ◼ ┰ u ┰ i ┰ a ┰ e ┰ o # - ┃ umlaut ┃ u ┃ i ┃ a ┃ e ┃ o # basic - ┃ ┃ , ┃ \{ shifted ┃ ? shifted ┃ ! shifted ┃ ( shifted # pun - ┃ ┃ left ┃ up ┃ down ┃ right ┃ tab # nav - ┃ ┃ ┃ ┃ ┃ ┃ # funk -# ┰ ◼ ┰ % ┰ * ┰ : ┰ p ┰ z ┰ ◼ # - ┃ shift_l capslock ┃ % shifted ┃ * shifted ┃ : shifted ┃ p ┃ z ┃ enter # basic - ┃ ┃ ` ┃ ^ shifted ┃ | shifted ┃ - ┃ @ shifted ┃ # pun - ┃ ┃ home ┃ page_up ┃ page_down ┃ end ┃ ┃ # nav - ┃ ┃ ┃ ┃ ┃ ┃ ┃ # funk ] - -[╳2 # L UNDER (? to ?) -# ┰ ◼ ┰ ◼ ┰ ◼ ┰ ◼ # - ┃ left ┃ up ┃ down ┃ right # basic - ┃ ┃ ┃ ┃ # pun - ┃ ┃ ┃ ┃ # nav - ┃ ┃ ┃ ┃ # funk ] - -[╳3 # L UNDERTHUMB (? to ?) -# ┰ ◼ # - ┃ win # basic - ┃ # pun - ┃ # nav - ┃ # funk ] - -[╳4 # L THUMB (? to ?) -# ┰ b3 ┰ c3 # - ┃ scroll_lock ┃ scroll_lock # basic - ┃ ┃ # pun - ┃ ┃ # nav - ┃ ┃ # funk -# ┰ a2* ┰ b2* ┰ c2 # - ┃ space ┃ control ┃ alt # basic - ┃ ┃ ┃ # pun - ┃ ┃ ┃ # nav - ┃ ┃ ┃ # funk -# ┰ a1 ┰ b1 ┰ c1 # - ┃ space ┃ control ┃ alt # basic - ┃ ┃ ┃ # pun - ┃ ┃ ┃ # nav - ┃ ┃ ┃ # funk ] - -[╳5 # R FINGERS (? to ?) -# ┰ 5 ┰ 6 ┰ 7 ┰ 8 ┰ 9 ┰ 0 ┰ 0 # - ┃ 5 ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ 0 ┃ 0 # basic - ┃ f5 ┃ f6 ┃ f7 ┃ f8 ┃ f9 ┃ f10 ┃ f12 # pun - ┃ f5 ┃ f6 ┃ f7 ┃ f8 ┃ f9 ┃ f10 ┃ f12 # nav - ┃ f5 ┃ f6 ┃ f7 ┃ f8 ┃ f9 ┃ f10 ┃ f12 # funk -# ┰ ◼ ┰ k ┰ h ┰ g ┰ f ┰ q ┰ ◼ # - ┃ ┃ k ┃ h ┃ g ┃ f ┃ q ┃ q # basic - ┃ ┃ = ┃ > shifted ┃ " shifted ┃ ] ┃ ` ┃ ` # pun - ┃ ┃ ┃ f21 ┃ f22 ┃ f23 ┃ f24 ┃ # nav - ┃ ┃ ┃ ┃ ┃ ┃ ┃ # funk -# ┰ s ┰ n ┰ r ┰ t ┰ d ┰ ◼ # - ┃ s ┃ n ┃ r ┃ t ┃ d ┃ umlaut # basic - ┃ ) shifted ┃ _ shifted ┃ / ┃ \} shifted ┃ . ┃ # pun - ┃ ┃ f13 ┃ f14 ┃ f15 ┃ f16 ┃ # nav - ┃ ┃ ┃ ┃ ┃ ┃ # funk -# ┰ ◼ ┰ b ┰ ┰ j ┰ y ┰ ; ┰ ◼ # - ┃ enter ┃ b ┃ m ┃ j ┃ y ┃ ; ┃ shift_r capslock # basic - ┃ ┃ + shifted ┃ $ shifted ┃ & shifted ┃ hash shifted ┃ ^ shifted ┃ # pun - ┃ ┃ ┃ f17 ┃ f18 ┃ f19 ┃ f20 ┃ # nav - ┃ ┃ ┃ ┃ ┃ ┃ ┃ # funk ] - -[╳6 # R UNDERTHUMB (? to ?) -# ┰ ◼ # - ┃ mod4 mod4 # basic - ┃ # pun - ┃ # nav - ┃ # funk ] - -[╳7 # R UNDER (? to ?) -# ┰ ◼ ┰ ◼ ┰ ◼ ┰ ◼ # - ┃ left ┃ up ┃ down ┃ right # basic - ┃ ┃ ┃ ┃ # pun - ┃ ┃ ┃ ┃ # nav - ┃ ┃ ┃ ┃ # funk ] - -[╳8 # R THUMB (? to ?) -# ┰ c3 ┰ b3 # - ┃ ┃ # basic - ┃ ┃ # pun - ┃ ┃ # nav - ┃ ┃ # funk -# ┰ c2 ┰ b2* ┰ a2* # - ┃ menu ┃ alt ┃ mod3 latch_mod3 # basic - ┃ ┃ ┃ NULL # pun - ┃ ┃ ┃ NULL # nav - ┃ ┃ ┃ NULL # funk -# ┰ c1 ┰ b1 ┰ a1 # - ┃ menu ┃ alt ┃ mod3 latch_mod3 # basic - ┃ ┃ ┃ NULL # pun - ┃ ┃ ┃ NULL # nav - ┃ ┃ ┃ NULL # funk ] -EOL - -groups = keys_string.gsub(/#.*$/, '').split(/\[╳/).reject(&:blank?).map(&:lines) -groups = groups.sort_by(&:first) -groups = groups.map{|g| g.drop(1).reject(&:blank?)} - -keys_parsed = [ - # dummy key - Key::Layers.map{[]} -] - -groups.each do |group| - layers = Key::Layers.size - - # sanity check - raise "wrong number of key layers" if group.size % layers != 0 - - slices = group.map{|l| l.split("┃").drop(1)} - - (0..(group.size-1)).step(layers).each do |row| - slices[row].size.times do |col| - key = layers.times.map do |layer| - slices[row+layer][col] - end - key = key.map{|l| l.strip.split(/\s+/, 2)} - - keys_parsed << key - end - end -end - -keys = keys_parsed.map do |layers| +].each_slice(Key::Layers.size).map do |layers| Key.new layers end