summaryrefslogtreecommitdiffstats
path: root/keyboards/keebio/nyquist/keymaps/bakingpy/keymap_converter.py
blob: 683f64da4505756765940a03b6813cf2fad58175 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/env python

import re

class KeymapConverter:

  def __init__(self, filename):
    self.filename = filename

  def read_keymaps(self):
    with open(self.filename) as f:
      lines = f.readlines()

    mode = 0
    for line in lines:
      line = line[:-1]
      if mode == 0:
        if "KC_KEYMAP" in line:
          matches = re.match(r'.*\[(.*)\] = .*', line)
          if matches:
            layer_name = matches.group(1)
            layer_name = layer_name[1:].capitalize()
            print '###', layer_name
            print '```'
          mode = 1
      elif mode == 1:
        if "//" in line:
          print line[4:]
        elif ")" in line:
          mode = 0
          print '```'
          print
        elif line[-1] == ',':
          print "|" + line[5:-1] + "|"
        else:
          print "|" + line[5:] + "|"

converter = KeymapConverter('keymap.c')
converter.read_keymaps()