Lectura del teclado con convinación de teclas

Lectura del teclado con convinación de teclas

Postby jgayoso » Thu Apr 05, 2012 2:46 pm

A la comunidad FiveLinux, tengo el siguiente problema:

Tengo un teclado NCR que tiene teclas especiales, el proveedor me indica que esas teclas funcionan igual como cuando uno preciona Control + A, Alt + B, pero con inkey() siempre me entrega un valor 65453, para cualquier tecla especial.

Local fpx:=0, lModal:=.T., oGet, cPaso:=' '
DEFINE DIALOG oDlg TITLE " " SIZE 350, 60
@2,1 say hb_strtoutf8(padc(alltrim(cMsg),50)) OF oDlg SIZE 330,nAltoLetra
@10,4 GET oGet VAR cPaso OF oDlg SIZE 70, nGetAltoLetra PICTURE "X" UPDATE
oGet:bKeyDown = { | nKey | If( nKey <> 0, ( nLastkey:=nKey, fpx:= nKey, lModal:=.F., oDlg:End() ),) } //Esc
ACTIVATE DIALOG oDlg CENTER

En la variable nLastKey me entrega 65453

¿Como puedo hacer para saber que convinación de tecla se preciono?


Estoy trabajando con FiveLinux y Harbourd para Linux, Suse Linux Interprise 11.1

Desde ya se agradece y quedo a la espera de una posible solución.

Jorge Gayoso
Santiago de Chile
jgayoso
 
Posts: 170
Joined: Sat Aug 07, 2010 11:36 pm
Location: Chile

Re: Lectura del teclado con convinación de teclas

Postby jgayoso » Mon Apr 09, 2012 12:37 pm

Ya solucione mi problema, modificando una linea y agregando una función:

oGet:bKeyDown = { | nKey | iif( .not. fTeclaCombinacion(@nkey,@nTeclaCombinacion) .and. nkey > 0, (msgalert(str(nTeclaCombinacion)+' '+str(nkey)), nLastkey:=nKey, fpx:= nKey, lModal:=.F., oDlg:End() ), ) }

Function fTeclaCombinacion(nkey,nTeclaCombinacion)
Local lRetorno:=.F.

if ascan({K_HOME,K_END,K_PAGEUP,K_PAGEDOWN,K_UP,K_DOWN,K_TAB,K_LEFT,K_RIGHT,K_DEL,K_BS,K_SHIFT,K_RSHIFT,K_CTRL,K_UPPER,K_KEYPAD0,K_ALT,K_ALT_GR,K_F_ESPECIAL},nkey)>0
nTeclaCombinacion:=nkey
nkey:=0
lRetorno:=.F.
endif
Return lRetorno
jgayoso
 
Posts: 170
Joined: Sat Aug 07, 2010 11:36 pm
Location: Chile

Re: Lectura del teclado con convinación de teclas

Postby Antonio Linares » Mon Apr 09, 2012 3:56 pm

Jorge,

Gracias por compartirlo :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41289
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveLinux / FiveDroid (Android)

Who is online

Users browsing this forum: No registered users and 3 guests