From: hackbard Date: Tue, 13 May 2003 10:23:54 +0000 (+0000) Subject: added event stuff X-Git-Tag: fpb~64 X-Git-Url: https://hackdaworld.org/gitweb/?p=physik%2Fnlsop.git;a=commitdiff_plain;h=c171ab6d836d840b6463579cebe1ec01cb9f06f8 added event stuff --- diff --git a/dfbapi.c b/dfbapi.c index 3d0e4d0..4144783 100644 --- a/dfbapi.c +++ b/dfbapi.c @@ -272,4 +272,37 @@ int d3_lattice_draw(d3_lattice *d3_l,int x,int y,int z,int arg_c,char **arg_v) } return 1; -} +} + +int 2d_event_init(2d_lattice *2d_l) +{ + 2d_l->dfb->GetInputDevice(2d_l->dfb,DIDID_KEYBOARD,&(2d_l->keyboard)); + 2d_l->keyboard->CreateEventBuffer(2d_l->keyboard,&(2d_l->k_buffer)); + + return 1; +} + +int 3d_event_init(3d_lattice *3d_l) +{ + 3d_l->dfb->GetInputDevice(3d_l->dfb,DIDID_KEYBOARD,&(3d_l->keyboard)); + 3d_l->keyboard->CreateEventBuffer(3d_l->keyboard,&(3d_l->k_buffer)); + + return 1; +} + +int scan_event(d3_lattice *d3_l,int *x,int *y,int *z,int *q,int *esc) +{ + DFBInputEvent ke; + + d3_l->k_buffer->GetEvent(d3_l->k_buffer,DFB_EVENT(&ke)); + if(ke.type==DIET_KEYPRESS) + { + if(ke.key_id==DIKI_LEFT && *x!=0) *x-=1; + if(ke.key_id==DIKI_RIGHT && *x!=d3_l->max_x-1) *x+=1; + if(ke.key_id==DIET_DOWN && *y!=0) *y-=1; + if(ke.key_id==DIET_UP && *y!=d3_l->max_y-1) *y+=1; + } + + return 1; +} +