Changeset 661

Show
Ignore:
Timestamp:
11/12/09 09:55:29 (2 years ago)
Author:
conrad
Message:

add X11 keypress handling and quit action

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • beatfish/trunk/src/beatfish.c

    r364 r661  
    10021002 
    10031003void 
     1004quit (void) 
     1005{ 
     1006  exit (0); 
     1007} 
     1008 
     1009void 
    10041010update_cursor (void) 
    10051011{ 
  • beatfish/trunk/src/beatfish.h

    r363 r661  
    3636 
    3737void setup(void); 
     38void quit (void); 
    3839void update_cursor (void); 
    3940 
  • beatfish/trunk/src/evas_software_x11_main.c

    r660 r661  
    33#include <X11/Xlib.h> 
    44#include <X11/Xutil.h> 
     5#include <X11/keysym.h> 
    56 
    67#include "Evas.h" 
    78#include "Evas_Engine_Software_X11.h" 
     9 
     10static int 
     11handle_keypress (int keycode, int state) 
     12{ 
     13    //printf ("Key 0x%04x pressed, state 0x%04x\n", keycode, state); 
     14 
     15    switch (keycode) { 
     16    case XK_q: 
     17    case XK_Q: 
     18    case 0x0018: /* XXX: my kb mapping */ 
     19        if (state & ControlMask) { 
     20            quit (); 
     21        } 
     22        break; 
     23    case XK_s: 
     24    case XK_S: 
     25    case 0x0027: /* XXX: my kb mapping */ 
     26        if (state & ControlMask) { 
     27            printf ("Save!\n"); 
     28        } 
     29        break; 
     30    default: 
     31        break; 
     32    } 
     33} 
    834 
    935int 
     
    2955   attr.event_mask = 
    3056      ExposureMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask | 
     57      KeyPressMask | 
    3158      EnterWindowMask | LeaveWindowMask | 
    3259      StructureNotifyMask; 
     
    118145                  evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, 0, NULL); 
    119146                  break; 
     147               case KeyPress: 
     148                  handle_keypress (ev.xkey.keycode, ev.xkey.state); 
     149                  break; 
    120150               case Expose: 
    121151                  evas_damage_rectangle_add(evas,