SendKey() y Printer en Fivelinux
SendKey() y Printer en Fivelinux
A Antonio y a los compañeros del foro que han trabajado con Fivelinux si por favor me pueden orientar en lo siguiente:
a) Existe un equivalente a SendKey() en FiveLinux?
b) Que otra libreria se debe enlazar para utilizar el printer con FiveLinux ya que libgnomeprintui2 no esta disponible.
Saludos,
George
a) Existe un equivalente a SendKey() en FiveLinux?
b) Que otra libreria se debe enlazar para utilizar el printer con FiveLinux ya que libgnomeprintui2 no esta disponible.
Saludos,
George
- Antonio Linares
- Site Admin
- Posts: 42448
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 20 times
- Been thanked: 56 times
- Contact:
Re: SendKey() y Printer en Fivelinux
George,
Como FiveLinux usa GTK podemos usar gdk_event_put() como se explica aqui:
https://mail.gnome.org/archives/gnome-devel-list/2002-August/msg00093.html
Pero según comentan aqui, no funciona correctamente y al parecer se puede usar XTestFakeKeyEvent():
https://mail.gnome.org/archives/gtk-app-devel-list/2003-November/msg00312.html
pero esa función pertenece a X11 y habría que usar esta librería: libx11-dev:
http://stackoverflow.com/questions/5299989/x11-xlib-h-not-found-in-ubuntu
No lo he probado, asi que no se si servirá
Como FiveLinux usa GTK podemos usar gdk_event_put() como se explica aqui:
https://mail.gnome.org/archives/gnome-devel-list/2002-August/msg00093.html
Pero según comentan aqui, no funciona correctamente y al parecer se puede usar XTestFakeKeyEvent():
https://mail.gnome.org/archives/gtk-app-devel-list/2003-November/msg00312.html
pero esa función pertenece a X11 y habría que usar esta librería: libx11-dev:
http://stackoverflow.com/questions/5299989/x11-xlib-h-not-found-in-ubuntu
No lo he probado, asi que no se si servirá
- Antonio Linares
- Site Admin
- Posts: 42448
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 20 times
- Been thanked: 56 times
- Contact:
Re: SendKey() y Printer en Fivelinux
George,
Por lo visto GTK proporciona un "High-level Printing API":
https://developer.gnome.org/gtk3/stable/gtk3-High-level-Printing-API.html
Habría que probarlo con FiveLinux
b) Que otra libreria se debe enlazar para utilizar el printer con FiveLinux ya que libgnomeprintui2 no esta disponible
Por lo visto GTK proporciona un "High-level Printing API":
https://developer.gnome.org/gtk3/stable/gtk3-High-level-Printing-API.html
Habría que probarlo con FiveLinux
- Antonio Linares
- Site Admin
- Posts: 42448
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 20 times
- Been thanked: 56 times
- Contact:
Re: SendKey() y Printer en Fivelinux
George,
Que distribución de Linux estás usando ? Debian, Ubuntu, ... ?
32 ó 64 bits ?
Que distribución de Linux estás usando ? Debian, Ubuntu, ... ?
32 ó 64 bits ?
Re: SendKey() y Printer en Fivelinux
Gracias Antonio por tus sugerencias.
He visto en el foro el siguiente codigo, referente a SendKey(), que tu publicaste para Fivewin:
Seria posible convertirlo a FiveLinux?
Por otro lado estoy usando Fivelinux en la Raspberry-Pi 2 bajo Raspbian (una version de DEBIAN para las Raspberry-Pi).
Tengo entendido que la RASPI-2 corre a 32 Bits
Saludos,
George
He visto en el foro el siguiente codigo, referente a SendKey(), que tu publicaste para Fivewin:
HB_FUNC( FW_SENDKEY )
{
if( hb_parni( 2 ) == 0 )
keybd_event( ( BYTE ) hb_parni( 1 ), ( BYTE ) hb_parni( 2 ),
KEYEVENTF_EXTENDEDKEY | 0, 0 );
else
keybd_event( ( BYTE ) hb_parni( 1 ), ( BYTE ) hb_parni( 2 ),
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 );
}
Seria posible convertirlo a FiveLinux?
Por otro lado estoy usando Fivelinux en la Raspberry-Pi 2 bajo Raspbian (una version de DEBIAN para las Raspberry-Pi).
Tengo entendido que la RASPI-2 corre a 32 Bits
Saludos,
George
Re: SendKey() y Printer en Fivelinux
Antonio,
He estado revisando el codigo get de Fivelinux y puedo interceptar ahi ciertas teclas pero lo que necesito hacer es saltar de un control al proximo control cuando se presione la tecla [ENTER]
En Fivewin usamos "::oWnd:GoNextCtrl( ::hWnd ). Tenemos un metodo equivalente en Fivelinux?
Saludos,
George
He estado revisando el codigo get de Fivelinux y puedo interceptar ahi ciertas teclas pero lo que necesito hacer es saltar de un control al proximo control cuando se presione la tecla [ENTER]
En Fivewin usamos "::oWnd:GoNextCtrl( ::hWnd ). Tenemos un metodo equivalente en Fivelinux?
Saludos,
George
- Antonio Linares
- Site Admin
- Posts: 42448
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 20 times
- Been thanked: 56 times
- Contact:
Re: SendKey() y Printer en Fivelinux
George,
la función keybd_event() es sólo para Windows. Tendríamos que probar de la forma que comentan en esos mensajes.
Voy a ver si puedo instalar Raspbian 32 bits en VirtualBox
la función keybd_event() es sólo para Windows. Tendríamos que probar de la forma que comentan en esos mensajes.
Voy a ver si puedo instalar Raspbian 32 bits en VirtualBox
- Antonio Linares
- Site Admin
- Posts: 42448
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 20 times
- Been thanked: 56 times
- Contact:
Re: SendKey() y Printer en Fivelinux
George,
Prueba a añadir este método en la clase TWindow:
Prueba a añadir este método en la clase TWindow:
Code: Select all | Expand
METHOD GoNextCtrl( hWnd ) CLASS TWindow
local nAt := AScan( ::aControls, { | oCtrl | oCtrl:hWnd == hWnd } )
if nAt != 0
if nAt < Len( ::aControls )
::aControls[ nAt + 1 ]:SetFocus()
else
::aControls[ 1 ]:SetFocus()
endif
endif
return nil
- Antonio Linares
- Site Admin
- Posts: 42448
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 20 times
- Been thanked: 56 times
- Contact:
Re: SendKey() y Printer en Fivelinux
Raspbian is a distribution for ARM processors. Raspbian cannot run in VirtualBox.
I don't have a Raspberri at hand...
- Antonio Linares
- Site Admin
- Posts: 42448
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 20 times
- Been thanked: 56 times
- Contact:
Re: SendKey() y Printer en Fivelinux
Antonio,
Lo que me enviaste funciona perfecto dentro de la clase GET usando solo el codigo
Mas adelante integrare el metodo a la clase TWindow para hacerlo mas generico.
Si quieres te envio a tu correo las libreria de FiveLinux que genere para las RASPI-2 y los fuentes utilizados.
Saludos,
George
Lo que me enviaste funciona perfecto dentro de la clase GET usando solo el codigo
case nKey == K_ENTER
::oWnd:aControls[nControl]:SetFocus()
Mas adelante integrare el metodo a la clase TWindow para hacerlo mas generico.
Si quieres te envio a tu correo las libreria de FiveLinux que genere para las RASPI-2 y los fuentes utilizados.
Saludos,
George
- Antonio Linares
- Site Admin
- Posts: 42448
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 20 times
- Been thanked: 56 times
- Contact: