b2ee290c9f
* Move boards into keebio folder * Rename keymap * Update BDN9 files * Update BFO-9000 files * Update Chocopad files * Update Dilly files * Update Fourier files, collapse rev1 into main * Update Iris files * Update Laplace files * Update Levinson files, fix buswerks keymap * Update Nyquist files * Fix keymap issues * Update Quefrency files * Update Rorschach files * Update TF68 files * Update Viterbi files * Update Viterbi files * Update Wavelet files * Reformat default layout * Fix up default folder for Iris * Remove already defined aliases
41 lines
707 B
Ruby
Executable file
41 lines
707 B
Ruby
Executable file
#!/usr/bin/env ruby
|
|
|
|
class KeymapConverter
|
|
|
|
def initialize(filename)
|
|
@filename = filename
|
|
@mode = :search
|
|
end
|
|
|
|
def read_keymaps
|
|
lines = IO.readlines(@filename)
|
|
lines.each { |line| parse_line line[0..-2] }
|
|
end
|
|
|
|
def parse_line(line)
|
|
case @mode
|
|
when :search
|
|
if line =~ /KC_KEYMAP/
|
|
puts "### #{line}"
|
|
puts "```"
|
|
@mode = :parse
|
|
end
|
|
when :parse
|
|
if line =~ /\)/
|
|
@mode = :search
|
|
puts "```\n\n"
|
|
else
|
|
line = line[4..-1]
|
|
line.sub!(/(,)^-/m, "|")
|
|
line.sub!(/( {4})/, " |")
|
|
|
|
puts line
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
converter = KeymapConverter.new('keymap.c')
|
|
converter.read_keymaps
|