Frequently Asked Questions (FAQs)

General questions

  • How does this application work?

  • The keys are not detected in some applications. How to fix this?

  • When I play games, KeyPress OSD is plain annoying. How to deactivate it temporarly?

  • I only want to use this application for its keyboard beepers. How to deactivate the OSD?

  • Can I use only text expansion / quick auto-replace with typing mode disabled?

  • Can I use KeyPress OSD with Universal Windows Applications (UWP apps) ?

  • KeyPress OSD does not work reliably with UWP applications. Is there a fix for this?

  • What’s «Admin mode» for?

  • What’s «Silent mode» for?

Typing mode related questions

  • How to get most of this… «typing mode» in KeyPress OSD ?

  • The text cursor does not move in synch with the host application. Why?

  • How to synchronize the text content from the OSD with the host application ?

  • How to retrieve the text from the host application and have it displayied in the OSD?

  • The text cursor [caret] does not jump as in the host application. How to fix it?

  • I can’t type letters with accents. Dead keys don’t work in the main typing mode.

  • Can I paste content from the OSD?

  • How to avoid exposing my passwords, if I am in public?

  • Can I use Ctrl+Z or Ctrl+V to undo or paste?

Q: How does this application work?

A: In the main typing mode, KeyPress OSD attaches [using keyboard hooks] individually to each key and modifier, on your keyboard and listens/waits for these to be pressed. When a key is pressed, it is displayied on the OSD. When typing, it uses Windows APIs to get the key names, based on the current keyboard layout. This applies as well when using {Shift}, {AltGr} or {Caps lock}.

The application does not use the caret specific Windows APIs to detect where the actual text cursor [caret] is in the text field of the currently active application, because most applications do not make use of these APIs – to report the caret position.

For these reasons, the main typing mode cannot support, at the moment, Chinese, Japanese or other similar languages that make use of IMEs [Input Method Editors] to write. These are typing aids that communicate directly with the application you type in. KeyPress OSD would have to intercept a variety of IME events as well.

In alternate typing mode, KeyPress OSD allows the user to type in a plain-text Rich Edit field type of UI control. The aformentioned keyboard hooks are no longer relevant, because the keystrokes need not be intercepted anymore, they are sent directly to KeyPress OSD. In addition, any IME communicates directly with the edit field provided in KeyPress OSD. Therefore, Chinese, Japanese or any other language relying on IMEs are supported in this typing mode. Right-to-Left writing systems are supported as well, e.g., Arabic.

Please note, specific keyboard shortcuts are available in this typing mode.

Q: When I play games, KeyPress OSD is plain annoying. How to deactivate it temporarly?

A: Before starting the game, deactivate KeyPress with {Shift + Pause / Break}.

Q: I only want to use this application for its keyboard beepers. How to deactivate the OSD?

A: At Main menu, in the system tray, select “Never show the OSD” or press {Ctrl + Alt + Shift + F8}.

Q: Can I use only text expansion / quick auto-replace with typing mode disabled?

A: Yes, you can. Just disable typing mode and keep quick auto-replace feature enabled.

Q: The keys are not detected in some applications. How to fix this?

A: Please execute KeyPress OSD as an elevated process, with higher priviledges. To do so, go to the System Tray area and right-click on the KeyPress OSD icon to invoke its main menu. Go to the Preferences submenu and select «Run in Admin mode». If a dialog box appears asking you to allow KeyPress OSD to run, please confirm it by selecting Yes.

Please note, this option is not available in the Windows Store edition of KeyPress OSD, because Windows 10 does not allow Windows Store applications to run as elevated processes.

Q: Can I use KeyPress OSD with Universal Windows Applications (UWP apps) ?

A: Yes. You can capture/retrieve texts from such applications and send texts to them. You can also use quick auto-replace within UWP applications. However, please keep in mind, these applications process input much slower. Therefore, KeyPress OSD must send the keystrokes at a much slower rate. It should be noted that not all applications downloaded from the Windows Store are UWP applications.

Q: KeyPress OSD does not work reliably with UWP applications. Is there a fix for this?

A: As previously mentioned, UWP applications process keyboard input utterly slowly. If you are experiencing issues with such applications, please try to increase the default delay for simulated keystrokes at «Advanced settings» panel, available only through the system tray menu.

Q: What’s «Silent mode» for?

A: If you have enabled sounds on key presses, «Silent mode» is a quick option to mute all sounds generated by KeyPress OSD. To enable sounds on key presses, go to the «Sounds» preferences panel..

Q: How to get most of this… «typing mode» in KeyPress OSD ?

A: Firstly, make sure the delays to display a text line on screen and return to it, after it is hidden, are confortable for you. And then, to get the best of it, as the developer of this application and constant user of it, I suggest enabling the following options [found in the «Typing mode» panel]:

  • OSD content synchronization keyboard shortcuts – to always be able to retrieve and send texts between KeyPress OSD and other applications;
  • Alternative hook to keys – if you use dead keys;
  • Prevent host application actions when {Escape} is pressed to erase the text from the OSD;
  • Mediate key strokes between the OSD and host apps when making caret jumps;
  • Mediate {Home} / {End} key presses between the OSD and the host application;

And optionally, depending on your needs, you might want to activate «Send texts from the OSD through the clipboard, not by simulating keystrokes». This can ensure a better synchronization with host applications that auto-type.

Q: The text cursor does not move in synch with the host application. Why?

A: On slow computers, the host application and KeyPress OSD are more likely to get desynchronized, because each application processes keyboard input at different paces. If the user types *very* fast, in some cases KeyPress OSD might miss detection of some key presses, especially when using dead keys or AltGr. In other cases, if the computer is too slow, host applications can become sluggish. In such contexts, they will like be unable to process keystrokes as fast as KeyPress OSD can, for example: long presses of cursor navigation keys. They simply do not keep up and, as such, fail to record every key fire.

Whenever you think KeyPress OSD got out of synch with the host application, please make use of the provided keyboard shortcuts that allow you to synchronize KeyPress OSD with the host application, and type slower, if KeyPress OSD is the one missing keys.

Q: How to synchronize the text content from the OSD with the host app?

Q: How to retrieve the text from the host application and have it displayied in the OSD?

A: Use {Winkey + Insert}. By default, with this keyboard shortcut, KeyPress tries to capture the entire text from the currently active window and text field (through the clipboard) – the maximum characters to retrieve can be configured in the Advanced options panel, the default is 2500 characters. The following keystrokes are sent rapidly: {Ctrl + A} [select all], {Ctrl + C} [copy], {Right}, {End}. The two final keystrokes are meant to ensure that the caret is placed at the end of the text.

Another method to synchronize is with {WinKey + Alt + Insert}. If you press this key combination, KeyPress OSD is going to attempt to capture only the current line of text from the currently active text field. The key strokes sent are: {End} [2x], {Shift + Home} [2x], {Ctrl + C}, {Left}, {Right} and {End} [2x].

With {WinKey + Home}, you can retrieve the currently selected text in the active host application.

Q: The text cursor [caret] does not jump as in the host application. How to fix it?

A: Applications implement inconsistent rules for jumping between words, symbols and numbers with the caret when the user presses {Ctrl + Left / Right / Delete / Backspace}.

To help with maintaining the caret positions synhronized, you can enable “Mediate the key strokes for caret jumps” option available in the Typing mode preferences panel. KeyPress will send keys that attempt to reproduce the text cursor position. More precisely, it sends as many times required the {Left}, {Right}, {Backspace} or {Delete} keys to the host application and blocks {Ctrl + Left / Right / Backspace / Delete}. If there is no text in the OSD or you have reached the end or beginning of the line of text, the host application receives the keys you actually pressed. Once the option is activated, KeyPress OSD tries to enforce the same caret jump rules across applications when both the OSD and the host application have the same text.

You can also try activating from the “Typing mode” settings window the option “Alternative rules to jump between words”. With this option enabled, it will mimmick the behavior of Microsoft Word 2016. When the option is deactivated [by default], it mimmicks the rules of Google Chrome.

On the same note, it is strongly recommended you also activate the option to «Mediate Home/End key presses». This further enhances the synchronicity between applications and KeyPress OSD, especially for long text lines.

Q: I can’t type letters with accents. Dead keys don’t work in main typing mode.

A: There are multiple possible solutions:

1. At Preferences > “Typing mode” window, “Dead keys” tab, increase the “Typing delays scale” by 5 or 10.

2. Activate in Preferences > “Typing mode” window, “Dead keys” tab, the option “Do not bind (ignore) known dead keys”. KeyPress will no longer detect when such a key is pressed, thus it is completely ignored.

3. You can rely for typing on the Alternate typing mode: {Shift + Winkey + Insert}.

4. If nothing helps, before typing with dead keys, deactivate KeyPress OSD with {Shift + Pause / Break}.

Q: Can I paste content from the OSD?

A: Yes, using {Ctrl + Shift + Insert}. To replace the entire text from the currently active text field use {Ctrl + Alt + Insert}.

For theses keyboard shortcuts to work, in “Typing mode” settings window, the option «OSD content synchronization keyboard shortcuts« must be activated.

Q: How to avoid exposing my passwords, if I am in public?

A: Before typing passwords, deactivate “Never show the OSD” with {Ctrl + Alt + Shift + F8}. This will maintain other features active, such as beepers. Another option is to deactivate KeyPress with {Shift + Pause / Break}.

Q: Can I use {Ctrl + Z} or {Ctrl + V} to undo or paste?

A: Yes. Paste works in the OSD even if you deactivate “Monitor clipboard” option from Keyboard settings. In the main typing mode, undo is limited to only one level.