summaryrefslogtreecommitdiff
path: root/src/VBox/RDP/client/keymaps/convert-map
blob: c88c72db04e065f5819e393b8cfe5e2cd72ae341 (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/env python2
# -*-Python-*-
#
# 
# Copyright (C) 2001  Peter Åstrand <astrand@cendio.se>
# 
# 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, Inc., 675 Mass Ave, Cambridge, MA 02139, 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,
            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" % line)
            
            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()