KeyBinding (version 1.0b, ven. 15/02/2013 at 02h:10m:51s )
index
KeyBinding.py
KeyBinding.py.html

This module implement a simple way to store and represent key binding for Bomberman game.
The class KeyBinding can be used by any other modules.
 
Currently, the representation of keyboard caracter is the one used by PyGame (SDL python binding).
 
For example :
=============
 * K_a to K_z represent the letter *a* to *z*,
 * K_TAB, K_SPACE, K_SLASH etc,
 * a complete list is stored in the variable LIST_of_authorized_keys.

 
Modules
       
ANSIColors
pygame.color
sys

 
Classes
       
__builtin__.object
KeyBinding

 
class KeyBinding(__builtin__.object)
    A Class to store and represent key binding for Bomberman game.
Keys are represented as a list of a pygame representation of a keyboard touch
 
Attributes:
 * up   -- the keys to go up / north.
 * down -- the keys to go down / south.
 * left -- the keys to go left / east.
 * right        -- the keys to go right / west.
 * bomb -- the keys to drop bombs. 
 * help -- the keys to print help. 
 
This class can be used both by the client and the server.
 
Example:
 >>> kbl=KeyBinding()
 >>> kbl.help=['K_DELETE'] # Override the default value.
 >>> kbl.bomb.append('K_DOLLAR') # Add a new key to drop bombs !
 >>> # To print a simple explanation about the keys :
 >>> print kbl.help()
 >>> # To redefine the keys, one by one :
 >>> kbl.ask()
 
  Methods defined here:
__init__(self, up=['K_UP'], down=['K_DOWN'], left=['K_LEFT'], right=['K_RIGHT'], bomb=['K_SPACE'], help=['K_h'])
Simple constructor of a key binding.
__repr__ = __str__(self)
__str__(self)
__str__(self) -> str
A pretty string for the key bindings.
ask(self)
A way to ask interactivly, in text mod in console, to redefine the key binding list.
event_key_is_ok(self, key, action='up')
To check if the Pygame event key is valid for the move [action].
 
action is one of : up, down, left, right, bomb, help.
get_help(self)
Just return a string explaining the key binding list.
ok(self, inp, action='up')
A shortcut to : inp in key.action.
Allow to check if the key [inp] is valid for the move [action].
 
action is one of : up, down, left, right, bomb, help.
values(self)
Make 6 attributes value_up,..,value_help.

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
Functions
       
arrows()
Return a simple key binding, like the one used in Lionheart or Mario.
classic()
Return a simple key binding, like the one used in WoW or Skyrim (classic with direction with Z up, Q left, S down, D right).
print_keynum_as_str(keynum)
Trying to print the *keynum* as a key name.
The list of valid pygame keynames are in *LIST_of_authorized_keys*.

 
Data
        ACTIVEEVENT = 1
ANYFORMAT = 268435456
ASYNCBLIT = 4
AUDIO_S16 = 32784
AUDIO_S16LSB = 32784
AUDIO_S16MSB = 36880
AUDIO_S16SYS = 32784
AUDIO_S8 = 32776
AUDIO_U16 = 16
AUDIO_U16LSB = 16
AUDIO_U16MSB = 4112
AUDIO_U16SYS = 16
AUDIO_U8 = 8
BIG_ENDIAN = 4321
BLEND_ADD = 1
BLEND_MAX = 5
BLEND_MIN = 4
BLEND_MULT = 3
BLEND_RGBA_ADD = 6
BLEND_RGBA_MAX = 16
BLEND_RGBA_MIN = 9
BLEND_RGBA_MULT = 8
BLEND_RGBA_SUB = 7
BLEND_RGB_ADD = 1
BLEND_RGB_MAX = 5
BLEND_RGB_MIN = 4
BLEND_RGB_MULT = 3
BLEND_RGB_SUB = 2
BLEND_SUB = 2
BUTTON_X1 = 6
BUTTON_X2 = 7
DICT_of_authorized_keys = {'K_0': 48, 'K_1': 49, 'K_2': 50, 'K_3': 51, 'K_4': 52, 'K_5': 53, 'K_6': 54, 'K_7': 55, 'K_8': 56, 'K_9': 57, ...}
DOUBLEBUF = 1073741824
FULLSCREEN = -2147483648
GL_ACCELERATED_VISUAL = 15
GL_ACCUM_ALPHA_SIZE = 11
GL_ACCUM_BLUE_SIZE = 10
GL_ACCUM_GREEN_SIZE = 9
GL_ACCUM_RED_SIZE = 8
GL_ALPHA_SIZE = 3
GL_BLUE_SIZE = 2
GL_BUFFER_SIZE = 4
GL_DEPTH_SIZE = 6
GL_DOUBLEBUFFER = 5
GL_GREEN_SIZE = 1
GL_MULTISAMPLEBUFFERS = 13
GL_MULTISAMPLESAMPLES = 14
GL_RED_SIZE = 0
GL_STENCIL_SIZE = 7
GL_STEREO = 12
GL_SWAP_CONTROL = 16
HAT_CENTERED = 0
HAT_DOWN = 4
HAT_LEFT = 8
HAT_LEFTDOWN = 12
HAT_LEFTUP = 9
HAT_RIGHT = 2
HAT_RIGHTDOWN = 6
HAT_RIGHTUP = 3
HAT_UP = 1
HWACCEL = 256
HWPALETTE = 536870912
HWSURFACE = 1
IYUV_OVERLAY = 1448433993
JOYAXISMOTION = 7
JOYBALLMOTION = 8
JOYBUTTONDOWN = 10
JOYBUTTONUP = 11
JOYHATMOTION = 9
KEYDOWN = 2
KEYUP = 3
KMOD_ALT = 768
KMOD_CAPS = 8192
KMOD_CTRL = 192
KMOD_LALT = 256
KMOD_LCTRL = 64
KMOD_LMETA = 1024
KMOD_LSHIFT = 1
KMOD_META = 3072
KMOD_MODE = 16384
KMOD_NONE = 0
KMOD_NUM = 4096
KMOD_RALT = 512
KMOD_RCTRL = 128
KMOD_RMETA = 2048
KMOD_RSHIFT = 2
KMOD_SHIFT = 3
K_0 = 48
K_1 = 49
K_2 = 50
K_3 = 51
K_4 = 52
K_5 = 53
K_6 = 54
K_7 = 55
K_8 = 56
K_9 = 57
K_AMPERSAND = 38
K_ASTERISK = 42
K_AT = 64
K_BACKQUOTE = 96
K_BACKSLASH = 92
K_BACKSPACE = 8
K_BREAK = 318
K_CAPSLOCK = 301
K_CARET = 94
K_CLEAR = 12
K_COLON = 58
K_COMMA = 44
K_DELETE = 127
K_DOLLAR = 36
K_DOWN = 274
K_END = 279
K_EQUALS = 61
K_ESCAPE = 27
K_EURO = 321
K_EXCLAIM = 33
K_F1 = 282
K_F10 = 291
K_F11 = 292
K_F12 = 293
K_F13 = 294
K_F14 = 295
K_F15 = 296
K_F2 = 283
K_F3 = 284
K_F4 = 285
K_F5 = 286
K_F6 = 287
K_F7 = 288
K_F8 = 289
K_F9 = 290
K_FIRST = 0
K_GREATER = 62
K_HASH = 35
K_HELP = 315
K_HOME = 278
K_INSERT = 277
K_KP0 = 256
K_KP1 = 257
K_KP2 = 258
K_KP3 = 259
K_KP4 = 260
K_KP5 = 261
K_KP6 = 262
K_KP7 = 263
K_KP8 = 264
K_KP9 = 265
K_KP_DIVIDE = 267
K_KP_ENTER = 271
K_KP_EQUALS = 272
K_KP_MINUS = 269
K_KP_MULTIPLY = 268
K_KP_PERIOD = 266
K_KP_PLUS = 270
K_LALT = 308
K_LAST = 323
K_LCTRL = 306
K_LEFT = 276
K_LEFTBRACKET = 91
K_LEFTPAREN = 40
K_LESS = 60
K_LMETA = 310
K_LSHIFT = 304
K_LSUPER = 311
K_MENU = 319
K_MINUS = 45
K_MODE = 313
K_NUMLOCK = 300
K_PAGEDOWN = 281
K_PAGEUP = 280
K_PAUSE = 19
K_PERIOD = 46
K_PLUS = 43
K_POWER = 320
K_PRINT = 316
K_QUESTION = 63
K_QUOTE = 39
K_QUOTEDBL = 34
K_RALT = 307
K_RCTRL = 305
K_RETURN = 13
K_RIGHT = 275
K_RIGHTBRACKET = 93
K_RIGHTPAREN = 41
K_RMETA = 309
K_RSHIFT = 303
K_RSUPER = 312
K_SCROLLOCK = 302
K_SEMICOLON = 59
K_SLASH = 47
K_SPACE = 32
K_SYSREQ = 317
K_TAB = 9
K_UNDERSCORE = 95
K_UNKNOWN = 0
K_UP = 273
K_a = 97
K_b = 98
K_c = 99
K_d = 100
K_e = 101
K_f = 102
K_g = 103
K_h = 104
K_i = 105
K_j = 106
K_k = 107
K_l = 108
K_m = 109
K_n = 110
K_o = 111
K_p = 112
K_q = 113
K_r = 114
K_s = 115
K_t = 116
K_u = 117
K_v = 118
K_w = 119
K_x = 120
K_y = 121
K_z = 122
LIL_ENDIAN = 1234
LIST_of_authorized_keys = ['K_0', 'K_1', 'K_2', 'K_3', 'K_4', 'K_5', 'K_6', 'K_7', 'K_8', 'K_9', 'K_AMPERSAND', 'K_ASTERISK', 'K_AT', 'K_BACKQUOTE', 'K_BACKSLASH', 'K_BACKSPACE', 'K_BREAK', 'K_CAPSLOCK', 'K_CARET', 'K_CLEAR', ...]
MOUSEBUTTONDOWN = 5
MOUSEBUTTONUP = 6
MOUSEMOTION = 4
NOEVENT = 0
NOFRAME = 32
NUMEVENTS = 32
OPENGL = 2
OPENGLBLIT = 10
PREALLOC = 16777216
QUIT = 12
RESIZABLE = 16
RLEACCEL = 16384
RLEACCELOK = 8192
SCRAP_BMP = 'image/bmp'
SCRAP_CLIPBOARD = 0
SCRAP_PBM = 'image/pbm'
SCRAP_PPM = 'image/ppm'
SCRAP_SELECTION = 1
SCRAP_TEXT = 'text/plain'
SRCALPHA = 65536
SRCCOLORKEY = 4096
SWSURFACE = 0
SYSWMEVENT = 13
TIMER_RESOLUTION = 10
USEREVENT = 24
UYVY_OVERLAY = 1498831189
VIDEOEXPOSE = 17
VIDEORESIZE = 16
YUY2_OVERLAY = 844715353
YV12_OVERLAY = 842094169
YVYU_OVERLAY = 1431918169
__author__ = 'Lilian BESSON (mailto:lilian.besson[AT]normale.fr)'
__date__ = 'ven. 15/02/2013 at 02h:10m:51s '
__version__ = '1.0b'
k = 'K_z'
tmp = 122

 
Author
        Lilian BESSON (mailto:lilian.besson[AT]normale.fr)