Changeset d021bbb in buchla-emu for emu


Ignore:
Timestamp:
09/04/2017 03:04:49 PM (7 years ago)
Author:
Thomas Lopatic <thomas@…>
Branches:
master
Children:
fffab34
Parents:
4ed9bfe
Message:

Support 24-key "keyboard".

File:
1 edited

Legend:

Unmodified
Added
Removed
  • emu/kbd.c

    r4ed9bfe rd021bbb  
    9191}
    9292
    93 #if defined NOT_YET
    9493static void key_touch(int32_t sig, int32_t val)
    9594{
     
    105104}
    106105
     106#if defined NOT_YET
    107107static void pot_128(int32_t sig, int32_t val)
    108108{
     
    121121void kbd_key(SDL_KeyboardEvent *ev)
    122122{
    123         (void)ev;
     123        static bool on[24];
     124
     125        if ((ev->keysym.mod & KMOD_SHIFT) != 0 &&
     126                        ev->keysym.sym >= SDLK_a && ev->keysym.sym <= SDLK_x) {
     127                int32_t i = ev->keysym.sym - SDLK_a;
     128                on[i] = !on[i];
     129
     130                if (on[i]) {
     131                        key_touch(1 + i, 0x7f);
     132                }
     133                else {
     134                        key_off(1 + i);
     135                }
     136
     137                ver2("kbd key %d %s", i, on[i] ? "on" : "off");
     138        }
    124139}
    125140
     
    128143        for (int32_t i = 0; ev->text[i] != 0; ++i) {
    129144                if (ev->text[i] >= '0' && ev->text[i] <= '9') {
     145                        ver2("kbd dat %c", ev->text[i]);
    130146                        int32_t sig = 60 + ev->text[i] - '0';
    131147                        but_on(sig);
     
    136152                switch (ev->text[i]) {
    137153                case 'x':
     154                        ver2("kbd x");
    138155                        but_on(70);
    139156                        but_off(70);
     
    141158
    142159                case 'e':
     160                        ver2("kbd e");
    143161                        but_on(71);
    144162                        but_off(71);
     
    146164
    147165                case 'm':
     166                        ver2("kbd m");
    148167                        but_on(72);
    149168                        but_off(72);
Note: See TracChangeset for help on using the changeset viewer.