Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

KeyboardKey.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------------------
00002 // Lamp : Open source game middleware
00003 // Copyright (C) 2004  Junpei Ohtani ( Email : junpee@users.sourceforge.jp )
00004 //
00005 // This library is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU Lesser General Public
00007 // License as published by the Free Software Foundation; either
00008 // version 2.1 of the License, or (at your option) any later version.
00009 //
00010 // This library is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 // Lesser General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU Lesser General Public
00016 // License along with this library; if not, write to the Free Software
00017 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 //------------------------------------------------------------------------------
00019 
00020 /** @file
00021  * キーボードキーヘッダ
00022  * @author Junpee
00023  */
00024 
00025 #ifndef KEYBOARD_KEY_H_
00026 #define KEYBOARD_KEY_H_
00027 
00028 namespace Lamp{
00029 
00030 //------------------------------------------------------------------------------
00031 /**
00032  * キーボードキー
00033  */
00034 class KeyboardKey{
00035 friend class LampInput;
00036 public:
00037     /// 最大キー数
00038     static const int maxKeyCount = 256;
00039 
00040     //--------------------------------------------------------------------------
00041     /// キー
00042     enum Key{
00043         keyEscape =         0x01,
00044         key1 =              0x02,
00045         key2 =              0x03,
00046         key3 =              0x04,
00047         key4 =              0x05,
00048         key5 =              0x06,
00049         key6 =              0x07,
00050         key7 =              0x08,
00051         key8 =              0x09,
00052         key9 =              0x0a,
00053         key0 =              0x0b,
00054         keyMinus =          0x0c,
00055         keyEquals =         0x0d,
00056         keyBackspace =      0x0e,
00057         keyTab =            0x0f,
00058         keyQ =              0x10,
00059         keyW =              0x11,
00060         keyE =              0x12,
00061         keyR =              0x13,
00062         keyT =              0x14,
00063         keyY =              0x15,
00064         keyU =              0x16,
00065         keyI =              0x17,
00066         keyO =              0x18,
00067         keyP =              0x19,
00068         keyLeftBracket =    0x1a,
00069         keyRightBracket =   0x1b,
00070         keyEnter =          0x1c,
00071         keyLeftControl =    0x1d,
00072         keyA =              0x1e,
00073         keyS =              0x1f,
00074         keyD =              0x20,
00075         keyF =              0x21,
00076         keyG =              0x22,
00077         keyH =              0x23,
00078         keyJ =              0x24,
00079         keyK =              0x25,
00080         keyL =              0x26,
00081         keySemicolon =      0x27,
00082         keyApostrophe =     0x28,
00083         keyGrave =          0x29,
00084         keyLeftShift =      0x2a,
00085         keyBackslash =      0x2b,
00086         keyZ =              0x2c,
00087         keyX =              0x2d,
00088         keyC =              0x2e,
00089         keyV =              0x2f,
00090         keyB =              0x30,
00091         keyN =              0x31,
00092         keyM =              0x32,
00093         keyComma =          0x33,
00094         keyPeriod =         0x34,
00095         keySlash =          0x35,
00096         keyRightShift =     0x36,
00097         keyNumPadMultiply = 0x37,
00098         keyLeftAlt =        0x38,
00099         keySpace =          0x39,
00100         keyCapsLock =       0x3a,
00101         keyF1 =             0x3b,
00102         keyF2 =             0x3c,
00103         keyF3 =             0x3d,
00104         keyF4 =             0x3e,
00105         keyF5 =             0x3f,
00106         keyF6 =             0x40,
00107         keyF7 =             0x41,
00108         keyF8 =             0x42,
00109         keyF9 =             0x43,
00110         keyF10 =            0x44,
00111         keyNumLock =        0x45,
00112         keyScroll =         0x46,
00113         keyNumPad7 =        0x47,
00114         keyNumPad8 =        0x48,
00115         keyNumPad9 =        0x49,
00116         keyNumPadSubtract = 0x4a,
00117         keyNumPad4 =        0x4b,
00118         keyNumPad5 =        0x4c,
00119         keyNumPad6 =        0x4d,
00120         keyNumPadAdd =      0x4e,
00121         keyNumPad1 =        0x4f,
00122         keyNumPad2 =        0x50,
00123         keyNumPad3 =        0x51,
00124         keyNumPad0 =        0x52,
00125         keyNumPadDecimal =  0x53,
00126 
00127         keyLeftBackslash =  0x56,
00128         keyF11 =            0x57,
00129         keyF12 =            0x58,
00130 
00131         keyF13 =            0x64,
00132         keyF14 =            0x65,
00133         keyF15 =            0x66,
00134 
00135         keyKana =           0x70,
00136 
00137         keyAbntC1 =         0x73,
00138 
00139         keyConvert =        0x79,
00140 
00141         keyNoConvert =      0x7b,
00142 
00143         keyYen =            0x7d,
00144         keyNumPadAbntC2 =   0x7e,
00145 
00146         keyNumPadEquals98 = 0x8d,
00147 
00148         keyPrevTrack =      0x90,
00149         keyAtmark =         0x91,
00150         keyColon =          0x92,
00151         keyUnderLine98 =    0x93,
00152         keyKanji =          0x94,
00153         keyStop98 =         0x95,
00154         keyAx =             0x96,
00155         keyUnlabeled =      0x97,
00156 
00157         keyNextTrack =      0x99,
00158 
00159         keyNumPadEnter =    0x9c,
00160         keyRightControl =   0x9d,
00161 
00162         keyMute =           0xa0,
00163         keyCalculator =     0xa1,
00164         keyPlayPause =      0xa2,
00165 
00166         keyMediaStop =      0xa4,
00167 
00168         keyVolumeDown =     0xae,
00169 
00170         keyVolumeUp =       0xb0,
00171 
00172         keyWebHome =        0xb2,
00173         keyNumPadComma =    0xb3,
00174 
00175         keyNumPadDivide =   0xb5,
00176 
00177         keyPrintScreen =    0xb7,
00178         keyRightAlt =       0xb8,
00179 
00180         keyPause =          0xc5,
00181 
00182         keyHome =           0xc7,
00183         keyUp =             0xc8,
00184         keyPageUp =         0xc9,
00185 
00186         keyLeft =           0xcb,
00187 
00188         keyRight =          0xcd,
00189 
00190         keyEnd =            0xcf,
00191         keyDown =           0xd0,
00192         keyPageDown =       0xd1,
00193         keyInsert =         0xd2,
00194         keyDelete =         0xd3,
00195 
00196         keyLeftWin =        0xdb,
00197         keyRightWin =       0xdc,
00198         keyApps =           0xdd,
00199         keyPower =          0xde,
00200         keySleep =          0xdf,
00201 
00202         keyWake =           0xe3,
00203 
00204         keyWebSearch =      0xe5,
00205         keyWebFavorites =   0xe6,
00206         keyWebRefresh =     0xe7,
00207         keyWebStop =        0xe8,
00208         keyWebForward =     0xe9,
00209         keyWebBack =        0xea,
00210         keyMyComputer =     0xeb,
00211         keyMail =           0xec,
00212         keyMediaSelect =    0xed,
00213     };
00214 
00215     //--------------------------------------------------------------------------
00216     /**
00217      * キーを文字列に変換
00218      * @param key 文字列に変換するキー
00219      * @return キーを表す文字列
00220      */
00221     virtual String keyToString(Key key) const{
00222         Assert((key >= 0) && (key < maxKeyCount));
00223         return keyName_[key];
00224     }
00225 
00226     //--------------------------------------------------------------------------
00227     /**
00228      * コンストラクタ
00229      */
00230     KeyboardKey(){}
00231 
00232     /**
00233      * デストラクタ
00234      */
00235     virtual ~KeyboardKey(){}
00236 
00237     //--------------------------------------------------------------------------
00238 private:
00239     /**
00240      * キー文字列初期化
00241      */
00242     static void initializeKeyString();
00243 
00244     // キー名
00245     static String keyName_[maxKeyCount];
00246     // 初期化フラグ
00247     static bool initialized_;
00248 
00249 };
00250 
00251 //------------------------------------------------------------------------------
00252 } // End of namespace Lamp
00253 #endif // End of KEYBOARD_KEY_H_
00254 //------------------------------------------------------------------------------
00255 

Generated on Wed Mar 16 10:29:31 2005 for Lamp by doxygen 1.3.2