Changes in emu/kbd.c [18cbd53:ca77925] in buchla-emu


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • emu/kbd.c

    r18cbd53 rca77925  
    104104}
    105105
    106 static void slid(int32_t sig, bool on, int32_t val)
    107 {
    108         out((uint8_t)(0x80 | sig));
    109         out(on ? 0x01 : 0x00);
     106#if defined NOT_YET
     107static void pot_128(int32_t sig, int32_t val)
     108{
     109        out((uint8_t)(0x80 | sig));
    110110        out((uint8_t)val);
    111111}
    112112
    113 #if defined NOT_YET
    114 static void pot(int32_t sig, int32_t val)
    115 {
    116         out((uint8_t)(0x80 | sig));
    117         out((uint8_t)val);
     113static void pot_256(int32_t sig, int32_t val)
     114{
     115        out((uint8_t)(0x80 | sig));
     116        out((uint8_t)((val >> 7) & 0x01));
     117        out((uint8_t)(val & 0x7f));
    118118}
    119119#endif
    120120
    121 static void vid_key(SDL_KeyboardEvent *ev, bool dn)
     121void kbd_key(SDL_KeyboardEvent *ev, bool dn)
    122122{
    123123        if ((ev->keysym.mod & KMOD_SHIFT) != 0 &&
     
    173173}
    174174
    175 static void lcd_key(SDL_KeyboardEvent *ev, bool dn)
    176 {
    177         if ((ev->keysym.mod & KMOD_CTRL) != 0 &&
    178                         ev->keysym.sym >= SDLK_a && ev->keysym.sym <= SDLK_n) {
    179                 int32_t i = ev->keysym.sym - SDLK_a;
    180                 ver2("kbd lcd %d %s", i, dn ? "dn" : "up");
    181 
    182                 if (dn) {
    183                         but_on(39 + i);
    184                 }
    185                 else {
    186                         but_off(39 + i);
    187                 }
    188 
    189                 return;
    190         }
    191 
    192         if (ev->keysym.sym >= SDLK_a && ev->keysym.sym <= SDLK_n) {
    193                 static int32_t lev[14] = {
    194                         64, 0, 0, 0, 0, 64, 64, 64, 64, 0, 0, 0, 64, 0
    195                 };
    196 
    197                 int32_t i = ev->keysym.sym - SDLK_a;
    198                 int32_t val = lev[i];
    199 
    200                 if (!dn) {
    201                         if ((ev->keysym.mod & KMOD_SHIFT) != 0) {
    202                                 val = val > 10 ? val - 10 : 0;
    203                         }
    204                         else {
    205                                 val = val < 117 ? val + 10 : 127;
    206                         }
    207                 }
    208 
    209                 ver2("kbd sli %d %s %d", i, dn ? "dn" : "up", val);
    210                 slid(25 + i, dn, val);
    211 
    212                 lev[i] = val;
    213                 return;
    214         }
    215 }
    216 
    217 void kbd_key(SDL_KeyboardEvent *ev, bool vid, bool dn)
    218 {
    219         if (vid) {
    220                 vid_key(ev, dn);
    221         }
    222         else {
    223                 lcd_key(ev, dn);
    224         }
    225 }
    226 
    227175void kbd_init(void)
    228176{
Note: See TracChangeset for help on using the changeset viewer.