aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Screens/UScreenSongMenu.pas
diff options
context:
space:
mode:
authortobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-03-22 11:58:28 +0000
committertobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-03-22 11:58:28 +0000
commitdbeaec3a0e5a50c84b70b28ae00a368a3e6e98e9 (patch)
treebb3633e752ea30874f704be70ec82354d70faf1e /Game/Code/Screens/UScreenSongMenu.pas
parenta7659bea0fcdec8d1b34955f9c56b066ff27a3cb (diff)
downloadusdx-dbeaec3a0e5a50c84b70b28ae00a368a3e6e98e9.tar.gz
usdx-dbeaec3a0e5a50c84b70b28ae00a368a3e6e98e9.tar.xz
usdx-dbeaec3a0e5a50c84b70b28ae00a368a3e6e98e9.zip
Support for non-US (QWERTY) keyboard layout.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@970 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code/Screens/UScreenSongMenu.pas')
-rw-r--r--Game/Code/Screens/UScreenSongMenu.pas34
1 files changed, 20 insertions, 14 deletions
diff --git a/Game/Code/Screens/UScreenSongMenu.pas b/Game/Code/Screens/UScreenSongMenu.pas
index e3ec825e..9cbb1be9 100644
--- a/Game/Code/Screens/UScreenSongMenu.pas
+++ b/Game/Code/Screens/UScreenSongMenu.pas
@@ -67,17 +67,21 @@ uses UGraphic,
function TScreenSongMenu.ParseInput(PressedKey: Cardinal; CharCode: WideChar; PressedDown: Boolean): Boolean;
begin
Result := true;
- If (PressedDown) Then
+ if (PressedDown) then
begin // Key Down
- if (CurMenu = SM_Playlist_New) AND (Interaction=0) then
+ if (CurMenu = SM_Playlist_New) AND (Interaction=0) then
begin
- case PressedKey of
- SDLK_0..SDLK_9, SDLK_A..SDLK_Z, SDLK_SPACE, SDLK_MINUS, SDLK_EXCLAIM, SDLK_COMMA, SDLK_SLASH, SDLK_ASTERISK, SDLK_QUESTION, SDLK_QUOTE, SDLK_QUOTEDBL:
+ // check normal keys
+ case WideUpperCase(CharCode)[1] of
+ '0'..'9', 'A'..'Z', ' ', '-', '_', '!', ',', '<', '/', '*', '?', '''', '"':
begin
Button[Interaction].Text[0].Text := Button[Interaction].Text[0].Text + CharCode;
exit;
end;
+ end;
+ // check special keys
+ case PressedKey of
SDLK_BACKSPACE:
begin
Button[Interaction].Text[0].DeleteLastL;
@@ -86,13 +90,17 @@ begin
end;
end;
- case PressedKey of
- SDLK_Q:
- begin
- Result := false;
- end;
-
+ // check normal keys
+ case WideUpperCase(CharCode)[1] of
+ 'Q':
+ begin
+ Result := false;
+ Exit;
+ end;
+ end;
+ // check special keys
+ case PressedKey of
SDLK_ESCAPE,
SDLK_BACKSPACE :
begin
@@ -149,10 +157,8 @@ begin
end;
end;
end;
-
-
- end;
- end;
+ end; // case
+ end; // if
end;
constructor TScreenSongMenu.Create;