generate-kbd-model-map revision 776a564f54dd54c7c4e2b2d865e8f9e7ee5404f3
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak#!/usr/bin/python
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakimport sys
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakimport system_config_keyboard.keyboard_models
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakdef strdash(s):
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak return s.strip() or '-'
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakdef tab_extend(s, n=1):
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak s = strdash(s)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak k = len(s) // 8
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen if k >= n:
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen f = 1
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen else:
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak f = n - k
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak return s + '\t'*f
3f08db06526d6901aa08c110b5bc7dde6bc39905nd
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakmodels = system_config_keyboard.keyboard_models.KeyboardModels().get_models()
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
3f08db06526d6901aa08c110b5bc7dde6bc39905ndprint "# Generated from system-config-keyboard's model list"
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakprint "# consolelayout\t\txlayout\txmodel\t\txvariant\txoptions"
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakfor key, value in reversed(models.items()):
c04f76acce77126cf88b09350e56ea8c6b4a064enilgun options = "terminate:ctrl_alt_bksp"
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak if value[4]:
91f378b5a10f2d83820902ed10ba7967a3920c18nilgun options += ',' + value[4]
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak print ''.join((tab_extend(key, 3), tab_extend(value[1]),
4b575a6b6704b516f22d65a3ad35696d7b9ba372rpluem tab_extend(value[2], 2), tab_extend(value[3], 2),
4b575a6b6704b516f22d65a3ad35696d7b9ba372rpluem options))
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak