[Bf-committers] Updated Key Reference englisch

Bart bart at neeneenee.de
Tue Sep 14 17:32:43 CEST 2004


Ok,

i'm not that kind of people can writing c, c++ or OpenGL, but 
understanding the scripting stuff.

So do the stupid thing and here is a huge improvement of the hotkey 
reference script. Added lot of keys that where missing or come with 2.34.

Have Fun!

Karamba!
Bart.

Blender Feature Proposal:
http://www.neeneenee.de/blender/features/

PS: Can somebody reading through about bugs. Hope i found any 'Shit' 
(sometimes f was mssing) keys ;)
-------------- next part --------------
#!BPY

""" Registration info for Blender menus:
Name: 'Hotkey Reference'
Blender: 232
Group: 'Help'
Tip: 'All the hotkeys'
""" 
# $Id: hotkeys.py,v 1.4 2004/07/29 12:12:20 broken Exp $
#------------------------
#  Hotkeys script
#         jm soler (2003)
# -----------------------
# Page officielle :
#   http://jmsoler.free.fr/didacticiel/blender/tutor/cpl_hotkeyscript.htm
# Communiquer les problemes et les erreurs sur:
#   http://www.zoo-logique.org/3D.Blender/newsportal/thread.php?group=3D.Blender
#--------------------------------------------- 
# ce script est proposé sous licence GPL pour etre associe
# a la distribution de Blender 2.33 et suivant
# --------------------------------------------------------------------------
# this script is released under GPL licence
# for the Blender 2.33 scripts package
# --------------------------------------------------------------------------
# ***** BEGIN GPL LICENSE BLOCK *****
#
# Copyright (C) 2003, 2004: Jean-Michel Soler & Bart
#
# 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; either version 2
# of the License, or (at your option) any later version.
#
# 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
#
# ***** END GPL LICENCE BLOCK *****
# --------------------------------------------------------------------------

import Blender
from Blender.Draw import *
from Blender.BGL import *

hotkeys={
'Specials 1 ':[
[',', 'Set Bounding Box rotation scaling pivot'],
['.', 'Set 3D cursor as rotation scaling pivot'] ,
['~', 'Display all layers (German keys: ö)'] ,
['Shift-~', 'Display all/previous layers (German keys: Shift-ö)'] ,
['TAB', 'Enter/exit edit mode'] ,
['TAB', 'Edit Mode and Numerical Edit (see N key) : move to next input value'],
['TAB', 'Sequencer: Edit meta strip'] ,
['TAB', 'IPO: Edit selected'] ,
['Ctrl-TAB', 'Enter/exit Pose Mode'] ,
['Shift-TAB', 'Enter Object Mode']
],

'Specials 2 ':[
['F1', 'Open File'],
['F2', 'Save File'],
['F3', 'Save image'],
['F4', 'Logic Window (may change)'],
['F5', 'Material Window'],
['F6', 'Texture Window'],
['F7', 'Object Window'],
['F8', 'World Window'],
['F9', 'Edit Mode Window'],
['F10', 'Render Window'],
['F11', 'Recall the last rendered image'],
['F12', 'Render current Scene'],
['Shift-F1', 'Library Data Select'],
['Shift-F2', 'Export DXF'],
['Shift-F4', 'Data Select '],
['Shift-F5', '3D Window'],
['Shift-F6', 'IPO Window'],
['Shift-F7', 'Buttons Window'],
['Shift-F8', 'Video Sequencer Window'],
['Shift-F9', 'OOP Window'],
['Shift-F10', 'UV/Image Editor'],
['Shift-F11', 'Text Editor'],
['Shift-F12', 'Action Editor']
],

'Numbers  ':[
['1..2..0-=', 'Show layer 1..2..12'],
['Alt-1..2..0', 'Show layer 11..12..20'],
['Shift-1..2..0-=', 'Toggle layer 1..2..12'],
['Shift-ALT-...', 'Toggle layer 11..12..20']
],

'Numpad  ':[
['Numpad DEL', 'Zoom on object'],
['Numpad /', 'Local view on object (hide others)'],
['Numpad *', "Rotate view to object's local axes"],
['Numpad +', 'Zoom in (works everywhere)'],
['Numpad +', 'Proportional vertex edit mode: Increase range of influence'],
['Ctrl-Numpad +', 'Edit Mode: Select More vertices'],
['Numpad -', 'Zoom out (works everywhere)'],
['Numpad -', 'Proportional vertex edit mode: Decrease range of influence'],
['Ctrl-Numpad +', 'Edit Mode: Select Less vertices'],
['Numpad INS', 'Set Camera view'],
['Ctrl-Numpad INS', 'Set active object as camera'],
['Alt-Numbad INS', 'Restore old camera'],
['Numpad 1', 'Front view'],
['Ctrl-Numpad 1', 'Back view'],
['Numpad 3', 'Right view'],
['Ctrl-Numpad 3', 'Left view'],
['Numpad 7', 'Top view'],
['Ctrl-Numpad 7', 'Bottom view '],
['Numpad 5', 'Toggle orthogonal/perspective view'],
['Numpad 9', 'Redraw view'],
['Numpad 2', 'Rotate view left'],
['Numpad 6', 'Rotate view right'],
['Numpad 8', 'Rotate view up'],
['Numpad 2', 'Rotate view down']
],

'Arrows ':[
['Home/Pos1', 'View all'],
['PgUp', 'IPO: Select next keyframe'],
['Ctrl-PgUp', 'IPO: Select and jump to next keyframe'],
['PgDn', 'IPO: Select previous keyframe'],
['Ctrl-PgDn', 'IPO: Select and jump to previous keyframe'],
['LEFT', 'One frame backwards'],
['RIGHT', 'One frame forwards'],
['DOWN', '10 frames backwards'],
['UP', '10 frames forwards'],
['Alt-DOWN', 'Blender in Window mode'],
['Alt-UP', 'Blender in Fullscreen mode'],
['Ctrl-LEFT', 'Previous screen'],
['Ctrl-RIGHT', 'Next screen'],
['Ctrl-DOWN', 'Maximize window toggle'],
['Ctrl-UP', 'Maximize window toggle'],
['Shift-Arrow', 'Toggle first frame/ last frame']
],

'Letters ':[ {"A":[ 
['A', 'Select all / Deselect all'],
['Alt-A', 'Animate current window'],
['Ctrl-A', "Apply object's size/rotation to object data"],
['Shift-A', 'Sequencer: ADD menu'],
['Shift-ALT-A', 'Animate all windows'],
['Shift-CTRL-A', 'Apply lattice / Make dupliverts real']
],

"B":[ 
['B', 'Border select'],
['BB', 'Circle select'],
['Alt+B', 'Edit Mode: Select Vertex Loop'],
['Shift-B', 'Set render border']
],

"C":[ 
['C', 'Center view on cursor'],
['C', 'Sequencer: Change images'],
['C', 'IPO: Snap current frame to selected key'],
['Alt-C', 'Convert menu'],
['Ctrl-C', 'Copy menu (Copy properties of active to selected objects)'],
['Shift-C', 'Center and zoom view on selected objects']
],

"D":[  
['D', 'Set 3d draw mode'],
['Alt-D', 'Object Mode: Create new instance of object'],
['Ctrl-D', 'Display alpha of image texture as wire'],
['Shift-D', 'Create full copy of object']
],

"E":[ 
['E', 'Edit Mode: Extrude'],
['ER', 'Edit Mode: Extrude Rotate'],
['ES', 'Edit Mode: Extrude Scale'],
['ESX', 'Edit Mode: Extrude Scale X axis'],
['ESY', 'Edit Mode: Extrude Scale Y axis'],
['ESZ', 'Edit Mode: Extrude Scale Z axis'],
['EX', 'Edit Mode: Extrude along X axis'],
['EY', 'Edit Mode: Extrude along Y axis'],
['EZ', 'Edit Mode: Extrude along Z axis'],
['Alt-E', 'Edit Mode: exit edit mode'],
['Ctrl-E', 'Edit Mode: Edge Specials menu'],
['Shift-E', 'Edit Mode: SubSurf Edge Sharpness']
],

"F":[ 
['F', 'Edit mode: Make edge/face'],
['F', 'Sequencer: Set Filter Y'],
['F', 'Object Mode: UV/Face Select mode'],
['Alt-F', 'Edit Mode: Beautify fill'],
['Ctrl-F', 'Object Mode: Sort faces in Z direction'],
['Ctrl-F', 'Edit Mode: Flip triangle edges'],
['Shift-F', 'Edit Mode: Fill with triangles'],
['Shift-F', 'Object Mode: active camera fly mode']
],

"G":[ 
['G', 'Grab (move)'],
['Alt-G', 'Clear location'],
['Shift-ALT-G', 'Remove selected objects from group'],
['Ctrl-G', 'Add selected objects to group'],
['Shift-G', 'Selected Group menu']
],

"H":[ 
['H', 'Hide selected vertices/faces'],
['H', 'Curves: Set handle type'],
['Alt-H', 'Reveal vertices'],
['Ctrl-H', 'Curves: Automatic handle calculation'],
['Shift-H', 'Hide deselected vertices'],
['Shift-H', 'Curves: Set handle type']
],

"I":[ 
['I', 'Keyframe menu']
],

"J":[ 
['J', 'Mesh: Join all adjacent triangles to quads'],
['J', 'Swap render page of render window'],
['Ctrl-J', 'Join selected objects'],
['Ctrl-J', 'Nurbs: Add segment'],
['Ctrl-J', 'IPO: Join keyframes menu'],
['Alt-J', 'Edit Mode: convert quads to triangles']
],

"K":[  
['K', '3d Window: Show keyframe positions'],
['K', 'Edit Mode: Loop/Cut menu'],
['K', 'IPO: Show keyframe positions'],
['K', 'Nurbs: Print knots'],
['Ctrl-K', 'Make skeleton from armature'],
['Shift-K', 'Show and select all keyframes for object'],
['Shift-K', 'Edit Mode: Knife Mode select'],
['Shift-K', 'UV Face Select: Clear vertex colours'],
['Shift-K', 'Vertex Paint: Fill with vertex colours']
],

"L":[ 
['L', 'Make local menu'],
['L', 'Edit mode: Select linked vertices (near mouse pointer)'],
['L', 'OOPS window: Select linked objects'],
['L', 'UV Face Select: Select linked faces'],
['Ctrl-L', 'Make links menu'],
['Shift-L', 'Select links menu']
],

"M":[ 
['M', 'Move object to different layer'],
['M', 'Sequencer: Make meta strip (group) from selected strips'],
['M', 'Edit Mode: Mirros Axis menu'],
['Alt-M', 'Edit Mode: Merge vertices menu'],
['Ctrl-M', 'Object Mode: Mirros Axis menu']
],

"N":[ 
['N', 'Transform Properties panel'] ,
['N', 'OOPS window: Rename object/linked objects'] ,
['Ctrl-N', 'Armature: Recalculate bone roll angles'] ,
['Ctrl-N', 'Edit Mode: Recalculate normals to outside'] ,
['Ctrl-ALT-N', 'Edit Mode: Recalculate normals to inside'] ],

"O":[ 
['O', 'Edit mode: Toggle proportional vertex editing'] ,
['Alt-O', 'Clear object origin'] ,
['Ctrl-O', 'Revert current file to last saved'] ,
['Shift-O', 'Proportional vertex edit mode: Toggle smooth/steep falloff'] ],

"P":[ 
['P', 'Start realtime engine'] ,
['P', 'Edit mode: Seperate vertices to new object'] ,
['Alt-P', 'Clear parent relationship'] ,
['Ctrl-P', 'Make active object parent of selected object'] ,
['Ctrl-SHIFT-P', 'Make active object parent of selected object without inverse'] ,
['Ctrl-P', 'Edit mode: Make active vertex parent of selected object'] ],

"Q":[['Q', 'Quit'] ],

"R":[ 
['R', 'Rotate'],
['R', 'IPO: Record mouse movement as IPO curve'],
['R', 'UV Face Select: Rotate menu uv coords or vertex colour'],
['RX', 'Rotate around X axis'],
['RXX', "Rotate around object's local X axis"],
['RY', 'Rotate around Y axis'],
['RYY', "Rotate around object's local Y axis"],
['RZ', 'Rotate around Z axis'],
['RZZ', "Rotate around object's local Z axis"],
['Alt-R', 'Clear object rotation'],
['Ctrl-R', 'Edit Mode: Knife, cut selected edges, accept left mouse/ cancel right mouse'],
['Shift-R', 'Edit Mode: select Face Loop'],
['Shift-R', 'Nurbs: Select row'] ],

"S":[ 
['S', 'Scale'] ,
['SX', 'Flip around X axis'] ,
['SY', 'Flip around Y axis'] ,
['SZ', 'Flip around Z axis'] ,
['SXX', 'Flip around X axis and show axis'] ,
['SYY', 'Flip around Y axis and show axis'] ,
['SZZ', 'Flip around Z axis and show axis'] ,
['Alt-S', 'Edit mode: Shrink/fatten (Scale along vertex normals)'] ,
['Alt-S', 'Clear object size'] ,
['Ctrl-S', 'Edit mode: Shear'] ,
['Shift-S', 'Cursor/Grid snap menu'] ],

"T":[ 
['T', 'Sequencer: Touch and print selected movies'] ,
['T', 'Adjust texture space'] ,
['T', 'Edit mode: Flip 3d curve'] ,
['T', 'IPO: Change IPO type'] ,
['Alt-T', 'Clear tracking of object'] ,
['Ctrl-T', 'Make selected object track active object'] ,
['Ctrl-T', 'Edit Mode: Convert to triangles'] ,
['Ctrl-ALT-T', 'Benchmark'] ],

"U":[ 
['U', 'Make single user menu'] ,
['U', '3D View: Global undo'] ,
['U', 'Edit Mode: Reload object data from before entering edit mode'] ,
['U', 'UV Face Select: Automatic UV calculation menu'] ,
['U', 'Vertex-/Weightpaint mode: Undo'] ,
['Ctrl-U', 'Save current state as user default'],
['Shift-U', 'Edit Mode: Redo Menu'],
['Alt-U', 'Edit Mode: Undo Menu'] ],

"V":[ 
['V', 'Curves/Nurbs: Vector handle'] ,
['V', 'Vertexpaint mode'] ,
['Alt-V', "Scale object to match image texture's aspect ratio"] ,
['Shift-V', 'Edit mode: Align view to selected vertices'] ],

"W":[ 
['W', 'Boolean operations menu'] ,
['W', 'Edit mode: Specials menu'] ,
['Ctrl-W', 'Save current file'] ,
['Ctrl-W', 'Nurbs: Switch direction'] ,
['Shift-W', 'Warp/bend selected vertices around cursor'] ],

"X":[ 
['X', 'Delete menu'] ,
['Ctrl-X', 'Restore default state (Erase all)'] ],

"Y":[ 
['Y', 'Mesh: Split selected vertices/faces from the rest'] ],

"Z":[ 
['Z', 'Switch 3d draw type : solide/ wireframe (see also D)'],
['Alt-Z', 'Switch 3d draw type : solid / textured (see also D)'],
['Ctrl-Z', 'Switch 3d draw type : shaded (see also D)'],
['Shift-Z', 'Switch 3d draw type : shaded / wireframe (see also D)'],

]}]}


for k in hotkeys.keys():
   hotkeys[k].append(Create(0))

for k in hotkeys['Letters '][0]:
   hotkeys['Letters '][0][k].append(Create(0))

hotL=hotkeys['Letters '][0].keys()
hotL.sort()

hot=hotkeys.keys()
hot.sort()

glCr=glRasterPos2d
glCl3=glColor3f
glCl4=glColor4f
glRct=glRectf

cf=[0.95,0.95,0.9,0.0]
c1=[0.95,0.95,0.9,0.0]
c=cf
r=[0,0,0,0]

def trace_rectangle4(r,c):
    glCl4(c[0],c[1],c[2],c[3])
    glRct(r[0],r[1],r[2],r[3])

def trace_rectangle3(r,c,c1):
    glCl3(c[0],c[1],c[2])
    glRct(r[0],r[1],r[2],r[3])
    glCl3(c1[0],c1[1],c1[2])

def draw():
    global r,c,c1,hotkeys, hot, hotL

    size=Buffer(GL_FLOAT, 4)
    glGetFloatv(GL_SCISSOR_BOX, size)
    size= size.list

    for s in [0,1,2,3]: size[s]=int(size[s])

    c=[0.9,0.95,0.95,0.0]
    c1=[0.95,0.95,0.9,0.0]

    r=[0,size[3],size[2],0]
    trace_rectangle4(r,c)

    c=[0.7,0.7,0.9,0.0]
    c1=[0.95,0.95,0.9,0.0]
    
    r=[0,size[3],size[2],size[3]-20]
    trace_rectangle4(r,c)

    c1=[0.7,0.7,0.9,0.0]
    c=[0.2,0.2,0.4,0.0]
    c2=[0.87,0.87,0.95,0.0]     

    r=[0,size[3]-20,size[2],size[3]-44]
    trace_rectangle4(r,c)

    glColor3f(0.1, 0.1, 0.15)
    glRasterPos2f(10, size[3]-16)

    Text("HotKey")

    l=0
    listed=0
    Llisted=0
    for k in hot:             
       hotkeys[k][-1]=Toggle(k, hot.index(k)+10, 4+(20*26)/6*hot.index(k), size[3]-(40), len(k)*8, 20, hotkeys[k][-1].val )
       l+=len(k)
       if hotkeys[k][-1].val==1.0:
           listed=hot.index(k)
           #print listed
    l=0
    if hot[listed]!='Letters ':
       for n in  hotkeys[hot[listed]][:-1]:
          if l%2==0:
             r=[4,size[3]-(18*l+66),
                     8+(21*26), size[3]-(46+18*l)]
             trace_rectangle4(r,c2)
          glColor3f(0.1, 0.1, 0.15)
          glRasterPos2f(4+8, size[3]-(58+18*l))
          Text(n[0])
          glRasterPos2f(4+8*15, size[3]-(58+18*l))
          Text('  : '+n[1]) 
          l+=1
    else:
       for k in hotL:
            pos=hotL.index(k)
            hotkeys['Letters '][0][k][-1]=Toggle(k,pos+20,4+hotL.index(k)*21, size[3]-(52+18), 20, 20, hotkeys['Letters '][0][k][-1].val )
            if hotkeys['Letters '][0][k][-1].val==1.0:
               Llisted=pos
       for n in hotkeys['Letters '][0][hotL[Llisted]][:-1]:
          if l%2==0:
             r=[4,size[3]-(18*l+92),
                     8+(21*26), size[3]-(74+18*l)]
             trace_rectangle4(r,c2)
          glColor3f(0.1, 0.1, 0.15)  
          glRasterPos2f(4+8, size[3]-(88+18*l))
          Text(n[0])
          glRasterPos2f(4+8*15, size[3]-(88+18*l))
          Text('  : '+n[1]) 
          l+=1

def event(evt, val):
    global hotkeys     
    if ((evt== QKEY or evt== ESCKEY) and not val): Exit()

def bevent(evt):
    global hotkeysmhot, hotL
    if   (evt== 1):
        Exit()

    elif (evt in range(10,20,1)):
        for k in hot:
           if hot.index(k)+10!=evt:
                 hotkeys[k][-1].val=0
                 
        Blender.Window.Redraw()

    elif (evt in range(20,46,1)):
        for k in hotL:
           if hotL.index(k)+20!=evt:
                 hotkeys['Letters '][0][k][-1].val=0

        Blender.Window.Redraw()

Register(draw, event, bevent)


More information about the Bf-committers mailing list