Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int key_repeat = 0;
- void DoKey(int buffer)
- {
- int keymap[KEY_MAX]; int tempchar; int modofiers[9];
- while(Game->TypingMode)
- {
- if ( key_repeat > 0 )
- {
- --key_repeat;
- continue;
- }
- memset(modifiers,0); //clear this iteration
- for ( int q = 0; q < KEY_MAX; ++q )
- {
- if ( Input->ReadKey[q] ) tempchar = keymap[q];
- key_repeat = KEY_REPEAT_DUR;
- if ( tempchar !IsModifier() )
- break;
- else
- {
- switch(tempkey)
- {
- case KEY_LSHIFT:
- {
- modifiers[LSHIFT] = 1; break;
- }
- case KEY_RSHIFT:
- {
- modifiers[RSHIFT] = 1; break;
- }
- case KEY_LCTL:
- {
- modifiers[LCTL] = 1; break;
- }
- case KEY_RCTL:
- {
- modifiers[RCTL] = 1; break;
- }
- case KEY_LALT:
- {
- modifiers[LALT] = 1; break;
- }
- case KEY_RALT:
- {
- modifiers[RALT] = 1; break;
- }
- case KEY_APPLE:
- {
- modifiers[APPLE] = 1; break;
- }
- case KEY_OPT:
- {
- modifiers[OPT] = 1; break;
- }
- case KEY_WIN:
- {
- modifiers[WIN] = 1; break;
- }
- }
- } //Don't break or continue here!
- }
- //actions to do with tempkey
- //forward to KeyProcess(tempchar, buffer)!
- //chars
- //modified
- //not modified
- //special
- //backspace
- //function and other
- //Exit Typing Mode
- if ( tempchar == KEY_ESC ) Game->TypingMode = false;
- Waitframe();
- }
- void KeypressProcess(int chr, int buffer)
- {
- //actions to do with tempkey
- //chars
- //modified
- //not modified
- //special
- //backspace
- //function and other
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement