[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2645] contrib/py/scripts/addons/ system_keyboard_svg.py: First test commit: just PEP8 edits, no functional changes.
Olaf Arnold
olaf.arnold at bestnetz.de
Tue Nov 22 21:31:44 CET 2011
Revision: 2645
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2645
Author: olafarnold
Date: 2011-11-22 20:31:43 +0000 (Tue, 22 Nov 2011)
Log Message:
-----------
First test commit: just PEP8 edits, no functional changes.
Modified Paths:
--------------
contrib/py/scripts/addons/system_keyboard_svg.py
Modified: contrib/py/scripts/addons/system_keyboard_svg.py
===================================================================
--- contrib/py/scripts/addons/system_keyboard_svg.py 2011-11-22 18:20:22 UTC (rev 2644)
+++ contrib/py/scripts/addons/system_keyboard_svg.py 2011-11-22 20:31:43 UTC (rev 2645)
@@ -20,13 +20,14 @@
# the result will be writen to the blender default directory.
# first implementation done by jbakker
+# <pep8 compliant>
bl_info = {
"name": "Keyboard Layout (svg)",
"author": "Jbakker",
- "version": (0,1),
- "blender": (2, 5, 4),
- "api": 32411,
+ "version": (0, 1),
+ "blender": (2, 6, 0),
+ "api": 41875,
"location": "",
"description": "Save the hotkeys as a .svg file (search: Keyboard)",
"warning": "may not work in recent svn",
@@ -38,29 +39,29 @@
import bpy
-keyboard=[
+keyboard = [
['`', 'ONE', 'TWO', 'THREE', 'FOUR', 'FIVE', 'SIX', 'SEVEN', 'EIGHT', 'NINE', 'ZERO', 'MINUS', 'EQUAL', 'BACKSPACE'],
-['TAB', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', '[', ']', '\\' ],
-['CAPSLOCK','A','S','D','F','G','H','J','K','L',';',"'",'ENTER'],
-['SHIFT', 'Z','X','C','V','B','N','M',',','.','/','SHIFT'],
-['CONTROL', 'OSKEY','ALT','SPACE','ALT','OSKEY','MENUKEY','CONTROL']
+['TAB', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', '[', ']', '\\'],
+['CAPSLOCK', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ';', "'", 'ENTER'],
+['SHIFT', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', ',', '.', '/', 'SHIFT'],
+['CONTROL', 'OSKEY', 'ALT', 'SPACE', 'ALT', 'OSKEY', 'MENUKEY', 'CONTROL']
]
# default dimension of a single key [width, heidgh]
-DEFAULT_KEY_DIMENSION=[100,100]
+DEFAULT_KEY_DIMENSION = [100, 100]
# alternative dimensions of specufic keys [keyname,[width, height]]
-ALTERNATIVE_KEY_DIMENSIONS={
-'BACKSPACE':[250,100],
-'TAB':[175,100],
-'\\':[175,100],
-'CAPSLOCK':[225,100],
-'ENTER':[240,100],
-'SHIFT':[290,100],
-'CONTROL':[225,100],
-'ALT':[100,100],
-'OSKEY':[100,100],
-'MENUKEY':[100,100],
-'SPACE':[690,100],
+ALTERNATIVE_KEY_DIMENSIONS = {
+'BACKSPACE': [250, 100],
+'TAB': [175, 100],
+'\\': [175, 100],
+'CAPSLOCK': [225, 100],
+'ENTER': [240, 100],
+'SHIFT': [290, 100],
+'CONTROL': [225, 100],
+'ALT': [100, 100],
+'OSKEY': [100, 100],
+'MENUKEY': [100, 100],
+'SPACE': [690, 100],
}
@@ -74,30 +75,30 @@
for keymap in keyconfig.keymaps:
if keymap.space_type in [viewtype]:
for key in keymap.keymap_items:
- if key.map_type=='KEYBOARD':
+ if key.map_type == 'KEYBOARD':
test = 0
pre = []
- cont= ""
+ cont = ""
if key.ctrl:
test = test + 1
- cont="C"
+ cont = "C"
if key.alt:
test = test + 2
- cont=cont+"A"
+ cont = cont + "A"
if key.shift:
test = test + 4
- cont=cont+"S"
+ cont = cont + "S"
if key.oskey:
test = test + 8
- cont=cont+"O"
- if len(cont)>0:
- cont="["+cont+"] "
+ cont = cont + "O"
+ if len(cont) > 0:
+ cont = "[" + cont + "] "
ktype = key.type
if ktype not in map.keys():
map[ktype] = []
- map[ktype].append((test, cont+key.name))
-
- filename="keyboard_"+viewtype+".svg"
+ map[ktype].append((test, cont + key.name))
+
+ filename = "keyboard_" + viewtype + ".svg"
print(filename)
svgfile = open(filename, "w")
svgfile.write("""<?xml version="1.0" standalone="no"?>
@@ -187,44 +188,45 @@
}
</style>
""")
- svgfile.write("""<text class="header" x="100" y="24">keyboard layout - """+viewtype+"""</text>
+ svgfile.write("""<text class="header" x="100" y="24">keyboard layout - """ + viewtype + """</text>
""")
-
- x=0
- xgap=15
- ygap=15
- y=32
+
+ x = 0
+ xgap = 15
+ ygap = 15
+ y = 32
for row in keyboard:
- x=0
+ x = 0
for key in row:
- width=DEFAULT_KEY_DIMENSION[0]
- height=DEFAULT_KEY_DIMENSION[1]
+ width = DEFAULT_KEY_DIMENSION[0]
+ height = DEFAULT_KEY_DIMENSION[1]
if key in ALTERNATIVE_KEY_DIMENSIONS.keys():
- width=ALTERNATIVE_KEY_DIMENSIONS[key][0]
- height=ALTERNATIVE_KEY_DIMENSIONS[key][1]
- tx=16
- ty=16
- svgfile.write("""<rect x=\""""+str(x)+"""\" y=\""""+str(y)+"""\" width=\""""+str(width)+"""\" height=\""""+str(height)+"""\" rx="20" ry="20" />
- """);
- svgfile.write("""<text class="key" x=\""""+str(x+tx)+"""\" y=\""""+str(y+ty)+"""\" width=\""""+str(width)+"""\" height=\""""+str(height)+"""\">
- """);
+ width = ALTERNATIVE_KEY_DIMENSIONS[key][0]
+ height = ALTERNATIVE_KEY_DIMENSIONS[key][1]
+ tx = 16
+ ty = 16
+ svgfile.write("""<rect x=\"""" + str(x) + """\" y=\"""" + str(y) + """\" width=\"""" + str(width) + """\" height=\"""" + str(height) + """\" rx="20" ry="20" />
+ """)
+ svgfile.write("""<text class="key" x=\"""" + str(x + tx) + """\" y=\"""" + str(y + ty) + """\" width=\"""" + str(width) + """\" height=\"""" + str(height) + """\">
+ """)
svgfile.write(key)
svgfile.write("</text>")
- ty=ty+16
- tx=4
+ ty = ty + 16
+ tx = 4
if key in map.keys():
for a in map[key]:
- svgfile.write("""<text class="add"""+str(a[0])+"""" x=\""""+str(x+tx)+"""\" y=\""""+str(y+ty)+"""\" width=\""""+str(width)+"""\" height=\""""+str(height)+"""\">
- """);
+ svgfile.write("""<text class="add""" + str(a[0]) + """" x=\"""" + str(x + tx) + """\" y=\"""" + str(y + ty) + """\" width=\"""" + str(width) + """\" height=\"""" + str(height) + """\">
+ """)
svgfile.write(a[1])
svgfile.write("</text>")
- ty=ty+16
- x=x+width+xgap
- y=y+100+ygap
+ ty = ty + 16
+ x = x + width + xgap
+ y = y + 100 + ygap
svgfile.write("""</svg>""")
svgfile.flush()
svgfile.close()
+
class WM_OT_Keyboardlayout(bpy.types.Operator):
"""
Windows manager operator for keyboard leyout export
@@ -240,9 +242,11 @@
createKeyboard(vt)
return {'FINISHED'}
+
def register():
bpy.utils.register_module(__name__)
+
def unregister():
bpy.utils.unregister_module(__name__)
More information about the Bf-extensions-cvs
mailing list