Changeset 07b7c48 in mainline for uspace/app/edit/edit.c


Ignore:
Timestamp:
2013-04-12T09:01:10Z (12 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
902f0906
Parents:
bc4bf97
Message:

Extend console library API to support different event types.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/edit/edit.c

    rbc4bf97 r07b7c48  
    182182int main(int argc, char *argv[])
    183183{
    184         kbd_event_t ev;
     184        cons_event_t ev;
     185        kbd_event_t *kev;
    185186        bool new_file;
    186187        int rc;
     
    245246
    246247        while (!done) {
    247                 console_get_kbd_event(con, &ev);
     248                console_get_event(con, &ev);
    248249                pane.rflags = 0;
    249250
    250                 if (ev.type == KEY_PRESS) {
     251                if (ev.type == CEV_KEY && ev.ev.key.type == KEY_PRESS) {
     252                        kev = &ev.ev.key;
     253
    251254                        /* Handle key press. */
    252                         if (((ev.mods & KM_ALT) == 0) &&
    253                             ((ev.mods & KM_SHIFT) == 0) &&
    254                              (ev.mods & KM_CTRL) != 0) {
    255                                 key_handle_ctrl(&ev);
    256                         } else if (((ev.mods & KM_ALT) == 0) &&
    257                             ((ev.mods & KM_CTRL) == 0) &&
    258                              (ev.mods & KM_SHIFT) != 0) {
    259                                 key_handle_shift(&ev);
    260                         } else if (((ev.mods & KM_ALT) == 0) &&
    261                             ((ev.mods & KM_CTRL) != 0) &&
    262                              (ev.mods & KM_SHIFT) != 0) {
    263                                 key_handle_shift_ctrl(&ev);
    264                         } else if ((ev.mods & (KM_CTRL | KM_ALT | KM_SHIFT)) == 0) {
    265                                 key_handle_unmod(&ev);
     255                        if (((kev->mods & KM_ALT) == 0) &&
     256                            ((kev->mods & KM_SHIFT) == 0) &&
     257                             (kev->mods & KM_CTRL) != 0) {
     258                                key_handle_ctrl(kev);
     259                        } else if (((kev->mods & KM_ALT) == 0) &&
     260                            ((kev->mods & KM_CTRL) == 0) &&
     261                             (kev->mods & KM_SHIFT) != 0) {
     262                                key_handle_shift(kev);
     263                        } else if (((kev->mods & KM_ALT) == 0) &&
     264                            ((kev->mods & KM_CTRL) != 0) &&
     265                             (kev->mods & KM_SHIFT) != 0) {
     266                                key_handle_shift_ctrl(kev);
     267                        } else if ((kev->mods & (KM_CTRL | KM_ALT | KM_SHIFT)) == 0) {
     268                                key_handle_unmod(kev);
    266269                        }
    267270                }
     
    592595static char *prompt(char const *prompt, char const *init_value)
    593596{
    594         kbd_event_t ev;
     597        cons_event_t ev;
     598        kbd_event_t *kev;
    595599        char *str;
    596600        wchar_t buffer[INFNAME_MAX_LEN + 1];
     
    612616
    613617        while (!done) {
    614                 console_get_kbd_event(con, &ev);
    615 
    616                 if (ev.type == KEY_PRESS) {
     618                console_get_event(con, &ev);
     619
     620                if (ev.type == CEV_KEY && ev.ev.key.type == KEY_PRESS) {
     621                        kev = &ev.ev.key;
     622
    617623                        /* Handle key press. */
    618                         if (((ev.mods & KM_ALT) == 0) &&
    619                              (ev.mods & KM_CTRL) != 0) {
     624                        if (((kev->mods & KM_ALT) == 0) &&
     625                             (kev->mods & KM_CTRL) != 0) {
    620626                                ;
    621                         } else if ((ev.mods & (KM_CTRL | KM_ALT)) == 0) {
    622                                 switch (ev.key) {
     627                        } else if ((kev->mods & (KM_CTRL | KM_ALT)) == 0) {
     628                                switch (kev->key) {
    623629                                case KC_ESCAPE:
    624630                                        return NULL;
     
    634640                                        break;
    635641                                default:
    636                                         if (ev.c >= 32 && nc < max_len) {
    637                                                 putchar(ev.c);
     642                                        if (kev->c >= 32 && nc < max_len) {
     643                                                putchar(kev->c);
    638644                                                console_flush(con);
    639                                                 buffer[nc++] = ev.c;
     645                                                buffer[nc++] = kev->c;
    640646                                        }
    641647                                        break;
Note: See TracChangeset for help on using the changeset viewer.