#!/usr/bin/python3
# -*- coding: utf-8 -*-
# -*-Python-*-
#
# Copyright 2001 Peter Åstrand <astrand@cendio.se> for Cendio AB
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License. 
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA

import sys

def main():
    f = open(sys.argv[1])
    while 1:
        line = f.readline()
        if not line: break

        if line.startswith("#") or line.startswith("include"):
            print(line, end=' ')
            continue

        fields = line.split()

        if line.startswith("map"):
            print("map 0x%s" % fields[1])
            continue

        scancode = fields[0]
        for pos in range(1, len(fields)):
            keysym = fields[pos]

            if pos == 1:
                modifiers = ""
            elif pos == 2:
                modifiers = "shift"
            elif pos == 3:
                modifiers = "altgr"
            elif pos == 4:
                modifiers = "shift altgr"
            else:
                raise "Invalid line: %s"
            
            print("%s 0x%s %s" % (keysym, scancode, modifiers))



if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("Convert old-style keymaps to new style")
        print("Usage: %s <old-style-keymap>" % sys.argv[0])
        sys.exit(1)
    else:
        main()
