Changes in client/Client/Textbox.cpp [e607c0f:87b3ee2] in network-game
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
client/Client/Textbox.cpp
re607c0f r87b3ee2 10 10 str = ""; 11 11 selected = false; 12 shiftPressed = false;13 14 // populate the shift map15 for(int i=0; i<26; i++)16 shiftMap['a'+i] = 'A'+i;17 18 shiftMap['1'] = '!';19 shiftMap['2'] = '@';20 shiftMap['3'] = '#';21 shiftMap['4'] = '$';22 shiftMap['5'] = '%';23 shiftMap['6'] = '^';24 shiftMap['7'] = '&';25 shiftMap['8'] = '*';26 shiftMap['9'] = '(';27 shiftMap['0'] = ')';28 29 shiftMap['`'] = '~';30 shiftMap['-'] = '_';31 shiftMap['='] = '+';32 shiftMap['['] = '{';33 shiftMap[']'] = '}';34 shiftMap['\\'] = '|';35 shiftMap[';'] = ':';36 shiftMap['\''] = '\"';37 shiftMap[','] = '<';38 shiftMap['.'] = '>';39 shiftMap['/'] = '?';40 shiftMap[' '] = ' ';41 12 } 42 13 … … 99 70 char newChar = 0; 100 71 101 if (ALLEGRO_KEY_A <= e.keyboard.keycode && e.keyboard.keycode <= ALLEGRO_KEY_Z) 72 if (ALLEGRO_KEY_A <= e.keyboard.keycode && e.keyboard.keycode <= ALLEGRO_KEY_Z) { 102 73 newChar = 'a'+e.keyboard.keycode-ALLEGRO_KEY_A; 74 if (al_key_down(&keys, ALLEGRO_KEY_LSHIFT) || al_key_down(&keys, ALLEGRO_KEY_RSHIFT)) 75 newChar -= 32; 76 } 103 77 else if (ALLEGRO_KEY_0 <= e.keyboard.keycode && e.keyboard.keycode <= ALLEGRO_KEY_9) 104 78 newChar = '0'+e.keyboard.keycode-ALLEGRO_KEY_0; 105 else { 106 switch(e.keyboard.keycode) 107 { 108 case ALLEGRO_KEY_TILDE: 109 newChar = '`'; 110 break; 111 case ALLEGRO_KEY_MINUS: 112 newChar = '-'; 113 break; 114 case ALLEGRO_KEY_EQUALS: 115 newChar = '='; 116 break; 117 case ALLEGRO_KEY_OPENBRACE: 118 newChar = '['; 119 break; 120 case ALLEGRO_KEY_CLOSEBRACE: 121 newChar = ']'; 122 break; 123 case ALLEGRO_KEY_SEMICOLON: 124 newChar = ';'; 125 break; 126 case ALLEGRO_KEY_QUOTE: 127 newChar = '\''; 128 break; 129 case ALLEGRO_KEY_BACKSLASH: 130 newChar = '\\'; 131 break; 132 case ALLEGRO_KEY_COMMA: 133 newChar = ','; 134 break; 135 case ALLEGRO_KEY_FULLSTOP: 136 newChar = '.'; 137 break; 138 case ALLEGRO_KEY_SLASH: 139 newChar = '/'; 140 break; 141 case ALLEGRO_KEY_SPACE: 142 newChar = ' '; 143 break; 144 case ALLEGRO_KEY_BACKSPACE: 145 if (str.size() > 0) 146 { 147 str = str.substr(0, str.size()-1); 148 return true; 149 } 150 else 151 return false; 152 break; 153 case ALLEGRO_KEY_LSHIFT: 154 case ALLEGRO_KEY_RSHIFT: 155 shiftPressed = true; 156 break; 157 default: 158 cout << "unknown keycode: " << e.keyboard.keycode << endl; 159 break; 160 } 161 } 79 else if (e.keyboard.keycode = ALLEGRO_KEY_BACKSPACE && str.size() > 0) 80 str = str.substr(0, str.size()-1); 162 81 163 82 if (newChar != 0) { 164 if (al_key_down(&keys, ALLEGRO_KEY_LSHIFT) || al_key_down(&keys, ALLEGRO_KEY_RSHIFT))165 newChar = shiftMap[newChar];166 167 83 str.append(1, newChar); 168 84 return true; 169 }170 }171 else if (e.type == ALLEGRO_EVENT_KEY_UP) {172 switch(e.keyboard.keycode)173 {174 case ALLEGRO_KEY_LSHIFT:175 case ALLEGRO_KEY_RSHIFT:176 shiftPressed = false;177 break;178 85 } 179 86 }
Note:
See TracChangeset
for help on using the changeset viewer.