Use the .unicode property on the event. --Noah
> -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > On Behalf Of Nicholas Dudfield > Sent: Tuesday, August 19, 2008 6:12 AM > To: pygame-users@seul.org > Subject: Re: [pygame] Key Presses > > Ian, > > In [1]: import pygame > > In [2]: pygame.K_QUESTION > Out[2]: 63 > > In [3]: chr(pygame.K_QUESTION) > Out[3]: '?' > > In [4]: chr(pygame.K_TAB) > Out[4]: '\t' > > http://www.pygame.org/docs/ref/key.html > > """ > There are many keyboard constants, they are used to represent keys on > the keyboard. The following is a list of all keyboard constants > > KeyASCII ASCII Common Name > K_BACKSPACE \b backspace > K_TAB \t tab > K_CLEAR clear > K_RETURN \r return > K_PAUSE pause > K_ESCAPE ^[ escape > K_SPACE space > K_EXCLAIM ! exclaim > K_QUOTEDBL " quotedbl > K_HASH # hash > K_DOLLAR $ dollar > K_AMPERSAND & ampersand > K_QUOTE quote > K_LEFTPAREN ( left parenthesis > K_RIGHTPAREN ) right parenthesis > K_ASTERISK * asterisk > K_PLUS + plus sign > K_COMMA , comma > K_MINUS - minus sign > K_PERIOD . period > K_SLASH / forward slash > ..... > > K_SEMICOLON ; semicolon > K_LESS < less-than sign > K_EQUALS = equals sign > K_GREATER > greater-than sign > K_QUESTION ? question mark > > """ > > Cheers. > > > Ian Mallett wrote: > > Hello, > > > > This should be a pretty simple question. > > > > I have a 3D multiplayer game where there is a chat box for > > communication, and I am at the part where the message is entered. > > Here is my relevant code so far: > > > > > > key = pygame.key.get_pressed() > > ... > > for event in pygame.event.get(): > > ... > > if event.type == KEYDOWN: > > ... > > elif event.key == K_BACKSPACE and TypingMessage: > > Message = Message[:-1] > > elif TypingMessage: > > name = pygame.key.name > <http://pygame.key.name>(event.key) > > if len(name) == 1: > > if key[K_LSHIFT] or key[K_RSHIFT]: > > name = name.upper() > > if key[K_CAPSLOCK]: > > name = name.swapcase() > > Message += name > > > > > > Unfortunately, this cannot do cases where the uppercase character is > > completely different from the lowercase character (for example, "?" > > and "/"). This is exactly the problem. > > > > I looked into the documentation, but I wasn't able to make out how > > this could be fixed as there were no relevant examples. > > > > Thanks, > > Ian