Changeset 917


Ignore:
Timestamp:
08/01/10 08:21:22 (4 years ago)
Author:
fe50
Message:
Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/core/gui.c

    r911 r917  
    14471447    static const char* names[]={ "Shrtcut", "Flash", "Video"}; 
    14481448    static const int keys[]={ KEY_PRINT, KEY_FLASH, KEY_VIDEO }; 
    1449 #elif defined(CAMERA_a570) 
     1449#elif defined(CAMERA_a570) || defined(CAMERA_a590) 
    14501450    static const char* names[]={ "Print", "Display"}; 
    14511451    static const int keys[] = {KEY_PRINT, KEY_DISPLAY}; 
  • trunk/include/camera.h

    r914 r917  
    534534 
    535535#elif defined (CAMERA_a590) 
     536#define CAM_ADJUSTABLE_ALT_BUTTON   1 
    536537#define CAM_PROPSET                 2 
    537538#define CAM_DRYOS                   1 
  • trunk/platform/a590/kbd.c

    r584 r917  
    241241        physw_status[1] = kbd_new_state[1]; 
    242242        physw_status[2] = kbd_new_state[2]; 
     243        physw_status[1] |= alt_mode_key_mask; 
    243244    } else { 
    244245        // override keys 
     
    341342long kbd_get_pressed_key() 
    342343{ 
    343     int i; 
    344     for (i=0;keymap[i].hackkey;i++){ 
     344        int i; 
     345        for (i=0;keymap[i].hackkey;i++){ 
    345346        if ((kbd_new_state[keymap[i].grp] & keymap[i].canonkey) == 0){ 
    346             return keymap[i].hackkey; 
    347         } 
    348     } 
    349     return 0; 
     347                return keymap[i].hackkey; 
     348        } 
     349        } 
     350        return 0; 
    350351} 
    351352 
    352353long kbd_get_clicked_key() 
    353354{ 
    354     int i; 
    355     for (i=0;keymap[i].hackkey;i++){ 
     355        int i; 
     356        for (i=0;keymap[i].hackkey;i++){ 
    356357        if (((kbd_prev_state[keymap[i].grp] & keymap[i].canonkey) != 0) && 
    357             ((kbd_new_state[keymap[i].grp] & keymap[i].canonkey) == 0)){ 
    358             return keymap[i].hackkey; 
    359         } 
    360     } 
    361     return 0; 
     358                (kbd_new_state[keymap[i].grp] & keymap[i].canonkey) == 0)){ 
     359                return keymap[i].hackkey; 
     360                } 
     361        } 
     362        return 0; 
    362363} 
    363364 
     
    391392        } 
    392393    } 
    393          
    394          
    395394} 
    396395 
     
    434433 
    435434static KeyMap keymap[] = { 
    436     /* tiny bug: key order matters. see kbd_get_pressed_key() 
    437      * for example 
    438      */ 
    439         { 2, KEY_UP             , 0x00000010 },  
     435        /* tiny bug: key order matters. see kbd_get_pressed_key() 
     436        * for example 
     437        */ 
     438        { 2, KEY_UP                     , 0x00000010 },  
    440439        { 2, KEY_DOWN           , 0x00000020 },  
    441440        { 2, KEY_LEFT           , 0x00000080 },  
    442441        { 2, KEY_RIGHT          , 0x00000040 },  
    443442        { 2, KEY_SET            , 0x00000100 },  
    444         { 1, KEY_SHOOT_FULL     , 0xC0000000 }, 
     443        { 1, KEY_SHOOT_FULL     , 0xC0000000 },  
    445444        { 1, KEY_SHOOT_HALF     , 0x40000000 },  
    446445        { 2, KEY_ZOOM_IN        , 0x00000004 },  
     
    451450        { 1, KEY_ERASE          , 0x00800000 },  
    452451        { 0, 0, 0 } 
    453  
    454452}; 
    455453 
    456454 
    457  
    458455void kbd_fetch_data(long *dst) 
    459456{ 
    460     volatile long *mmio0 = (void*)0xc0220200; 
    461     volatile long *mmio1 = (void*)0xc0220204; 
    462     volatile long *mmio2 = (void*)0xc0220208; 
    463  
    464     dst[0] = *mmio0; 
    465     dst[1] = *mmio1; 
    466     dst[2] = *mmio2 & 0xffff; 
    467 } 
     457        volatile long *mmio0 = (void*)0xc0220200; 
     458        volatile long *mmio1 = (void*)0xc0220204; 
     459        volatile long *mmio2 = (void*)0xc0220208; 
     460 
     461        dst[0] = *mmio0; 
     462        dst[1] = *mmio1; 
     463        dst[2] = *mmio2 & 0xffff; 
     464} 
     465 
     466void kbd_set_alt_mode_key_mask(long key) 
     467{ 
     468        int i; 
     469        for (i=0; keymap[i].hackkey; ++i) { 
     470                if (keymap[i].hackkey == key) { 
     471                        alt_mode_key_mask = keymap[i].canonkey; 
     472                        return; 
     473                } 
     474        } 
     475} 
Note: See TracChangeset for help on using the changeset viewer.