How to activate the Windows Virtual Keyboard from eXpress
How to activate the Windows Virtual Keyboard from eXpress
How to activate the Windows Virtual Keyboard from eXpress
Nolberto Paulino
Regards
Regards
Re: How to activate the Windows Virtual Keyboard from eXpres
Use Runshell. The application name of the keyboard is "osk.exe".
Best regards,
Tom
"Did I offend you?"
"No."
"Okay, give me a second chance."
Tom
"Did I offend you?"
"No."
"Okay, give me a second chance."
Re: How to activate the Windows Virtual Keyboard from eXpres
I am working on several KIOSK applications for the Taxi system.Use Runshell. The application name of the keyboard is "osk.exe".
We have a screen with a lot of required data entry.
We are still evaluating whether it is better to give them a physical keyboard instead of OSK.EXE.
I have never been successful at getting OSK.EXE to run from RunShell() without an error.
Thus, I wrote a popup keyboard in Xbase++.
We have to start OSK.EXE before starting the KIOSK.
We don't need it for most screens. Only for the large data form.
Are you using it in your application?
The eXpress train is coming - and it has more cars.
Re: How to activate the Windows Virtual Keyboard from eXpres
No. We created our own on screen keyboard, resizeable und customizable, and people like it (it makes funny noises if you want).
But Nolberto asked how to activate the Windows-osk, and that's the question I answered.
But Nolberto asked how to activate the Windows-osk, and that's the question I answered.

Best regards,
Tom
"Did I offend you?"
"No."
"Okay, give me a second chance."
Tom
"Did I offend you?"
"No."
"Okay, give me a second chance."
Re: How to activate the Windows Virtual Keyboard from eXpres
hello Roger
I'm not using it at the moment I'm using what I've done is telling users to activate the windows keyboard when they need it, but it's very complicated for some users
I'm not using it at the moment I'm using what I've done is telling users to activate the windows keyboard when they need it, but it's very complicated for some users
rdonnay wrote:I am working on several KIOSK applications for the Taxi system.Use Runshell. The application name of the keyboard is "osk.exe".
We have a screen with a lot of required data entry.
We are still evaluating whether it is better to give them a physical keyboard instead of OSK.EXE.
I have never been successful at getting OSK.EXE to run from RunShell() without an error.
Thus, I wrote a popup keyboard in Xbase++.
We have to start OSK.EXE before starting the KIOSK.
We don't need it for most screens. Only for the large data form.
Are you using it in your application?
Nolberto Paulino
Regards
Regards
Re: How to activate the Windows Virtual Keyboard from eXpres
Thanks tom
but the truth is that I need a keyboard to adapt it to my system for Tablet.
If you have any examples please, pass it on.
but the truth is that I need a keyboard to adapt it to my system for Tablet.
If you have any examples please, pass it on.
Tom wrote:No. We created our own on screen keyboard, resizeable und customizable, and people like it (it makes funny noises if you want).
But Nolberto asked how to activate the Windows-osk, and that's the question I answered.
Nolberto Paulino
Regards
Regards
Re: How to activate the Windows Virtual Keyboard from eXpres
Hi, Could you explain how to load this PopKeyBoard function from HANDLER?
STATIC FUNCTION MyHandler( nEvent, mp1, mp2, oXbp, oDlgs, aGetList )
local i := 0, j
if nEvent == xbeM_Wheel .AND. oXbp:isDerivedFrom('XbpColumn')
SystemParametersInfoA( SPI_GETWHEELSCROLLLINES, 0, @i, 0 )
if i < 0
i := oXbp:parent:RowCount
END if
i := Int( (Mp2[2] / 360) * i )
i *= (-1)
DC_ClearEvents()
PostAppEvent( xbeBRW_Navigate, XBPBRW_Navigate_Skip, i, oXbp:parent )
return DCGUI_IGNORE
elseif nEvent == xbeP_SetInputFocus .AND. oXbp:isDerivedFrom('DC_XbpGet')
dcqout nEvent,xbeP_SetInputFocus
PopKeyBoard(nEvent, mp1, mp2, oXbp:parent, oDlg, .T. )
END if
return DCGUI_NONE
STATIC FUNCTION MyHandler( nEvent, mp1, mp2, oXbp, oDlgs, aGetList )
local i := 0, j
if nEvent == xbeM_Wheel .AND. oXbp:isDerivedFrom('XbpColumn')
SystemParametersInfoA( SPI_GETWHEELSCROLLLINES, 0, @i, 0 )
if i < 0
i := oXbp:parent:RowCount
END if
i := Int( (Mp2[2] / 360) * i )
i *= (-1)
DC_ClearEvents()
PostAppEvent( xbeBRW_Navigate, XBPBRW_Navigate_Skip, i, oXbp:parent )
return DCGUI_IGNORE
elseif nEvent == xbeP_SetInputFocus .AND. oXbp:isDerivedFrom('DC_XbpGet')
dcqout nEvent,xbeP_SetInputFocus
PopKeyBoard(nEvent, mp1, mp2, oXbp:parent, oDlg, .T. )
END if
return DCGUI_NONE
Nolberto Paulino
Regards
Regards
Re: How to activate the Windows Virtual Keyboard from eXpres
I don't know what PopKeyBoard function you are referring to.Hi, Could you explain how to load this PopKeyBoard function from HANDLER?
I suspect that you mean PopKeyPad() from \exp20\samples\touchscr\keypad.prg
This is very old code.
A much better one is the TouchKeyboard class in \exp20\samples\touchscr\keypad3.prg.
It requires no bitmap files. See attached screenshot.
What you are wanting is something that works like OSK.
This will take a few changes to the keypad3.prg code.
I will create a new OSK class and a sample and post it in this forum.
The eXpress train is coming - and it has more cars.
Re: How to activate the Windows Virtual Keyboard from eXpres
Funny is always good.people like it (it makes funny noises if you want)


The eXpress train is coming - and it has more cars.
Re: How to activate the Windows Virtual Keyboard from eXpres
try
Code: Select all
SHELLOPENFILE( "C:\WINDOWS\system32\", "osk.exe" )
FUNCTION SHELLOPENFILE( cPath, cFILE, cPara )
lSuccess := DllCall( "SHELL32.DLL" , DLL_STDCALL, ;
"ShellExecuteA", AppDesktop():GetHWND(), "open", cPath+cFile,;
cPara, CurDir(), SW_NORMAL )
greetings by OHR
Jimmy
Jimmy