Home | Sign in | English EN
This content has been translated automatically. Click here to view the French version.
  • To manage all the keyboard keys with KeyPressed:
  • Running the test of a key combination
  • Interrupting a process in a browse loop
  • Asynchronous status report
  • Keys of Pocket PCs and Smartphones
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Stored procedures
Checks which key is pressed.
// Include the "KeyConst.wl" file to manage the keyboard keys
EXTERN "KeyConst.WL"
FOR I = 1 TO 5000
// Check Space key
IF KeyPressed(VK_SPACE) = True THEN Info("Space key down")
// Check A key
IF KeyPressed(Asc("A")) = True THEN Trace("A key down")
Windows Mobile
// -- Initialization code of project
// Include the "KeyConst.WL" and "WinConst.WL" files
EXTERN "KeyConst.WL"
EXTERN "WinConst.WL"

// -- Initialization code of window
// Intercept the Pocket PC key that is pressed
Event("MoveImage", "Window1.*", WM_KEYDOWN)
// -- "MoveImage" procedure
// Move the "IMG_MyImage" Image control with the arrows of the Smartphone or Pocket PC
// Right arrow: move to the right
IF KeyPressed( VK_RIGHT) THEN IMG_MyImage.X = IMG_MyImage.X + 10
// Left arrow: move to the left
IF KeyPressed( VK_LEFT) THEN IMG_MyImage.X = IMG_MyImage.X - 10
// Up arrow: move to the top
IF KeyPressed( VK_UP) THEN IMG_MyImage.Y = IMG_MyImage.Y + 10
// Down arrow: move to the bottom
IF KeyPressed( VK_DOWN) THEN IMG_MonImage.Y = IMG_MonImage.Y - 10
<Result> = KeyPressed(<Constant> [, <Change of status>])
<Result>: Boolean
  • True if the control key is pressed or if its status changed since the last call to KeyPressed,
  • False otherwise.
<Constant>: Integer constant
Identifies the control key:
kpAltAlt key.
kpLButtonLeft mouse button.
kpRButtonRight mouse button.
kpControlCtrl key.
kpEscapeEsc key.
kpShiftShift key.

Additional constants are available in the "KeyConst.wl" file. These constants are used to identify all the keyboard keys. This file is available in the "\Personal\Extern" directory of WINDEV or WINDEV Mobile. See remarks for more details.
<Change of status>: Optional boolean
  • True (default value) to get a synchronous status: key currently pressed,
  • False to get an asynchronous status: the key status changed since the last call to KeyPressed.

To manage all the keyboard keys with KeyPressed:

  1. Include the KeyConst.WL file in your project. This file associates a specific constant with each keyboard key. This file is available in the \Personal\Extern directory of WINDEV. To integrate this file into your applications, it is necessary to use the keyword EXTERN as follows:
  2. Use the constants in KeyPressed:
    IF KeyPressed(VK_Space) THEN...
  • To manage the character keys, use the ASCII code of the character (returned by Asc).
  • All the constants found in the KeyConst.WL file start with the letters VK_. These constants are proposed by the automatic completion in the code editor as soon as the file was included by the EXTERN keyword.

Running the test of a key combination

To run the test of a key combination, run the test of two keys pressed:
IF KeyPressed(kpShift) AND KeyPressed(VK_TAB) THEN

Interrupting a process in a browse loop

In a loop, to interrupt the process by pressing Esc, Multitask must be called before KeyPressed.
HReadFirst(Customer, CustNum)
WHILE HOut() = False
// Abandon via Esc?
IF KeyPressed(kpEscape) = True THEN BREAK
// Process
HReadNext(Customer, CustNum)
Windows Mobile

Asynchronous status report

To avoid retrieving a key that was pressed beforehand (in another process for example), the status of the key to test must be reinitialized by the following code line:
KeyPressed(<Key>, False)
Windows Mobile

Keys of Pocket PCs and Smartphones

The diagrams below present the WLanguage constants associated with the keys.
Component : wd260std.dll
Minimum version required
  • Version 9
This page is also available for…
Click [Add] to post a comment