Windows program to report keypresses - windows

Problem: I am using Windows as a guest operating system in a Virtual Machine and a funky keyboard setup. I need a way to be able to troubleshoot cases when keyboard hotkey combinations are not functioning properly.
Question: Does anyone know of a program that quickly and easily displays on the screen what keypress windows thinks it got whenever I press a key or key combination on the installed keyboard?

Keyboard Jedi looks like it will do what you're after.

Related

How does on-screen (virtual) keyboard works in Win10

I haven't find anything relevant in Google or any Microsoft site about it so I decided to ask a question here.
Everybody knows that in Win-based OS there is a virtual keyboard. I also know that *nix based OS, have it too. So, the question is about:
HOW DOES IT WORK INSIDE?
I mean, let's have an example that I opened on screen keyboard in Windows 10. What's the actual difference between:
input via hardware keyboard: when I'm using it, like I press X button
..and using a virtual keyboard, when I press the same button
Imagine, I have an admin access to terminal/computer, is there any option to track/distinguish that in the second time I pressed button not on hardware keyboard, but on-screen (by mouse clicking) version of it?
And there are also many different software, like AutoIt (yes, it's a language, but it's relevant to this example) that emulating pressing the X button. How does they work in Win-based OS? Do they "in-common" with default on-screen keyboard and using the same driver/WinAPI or there is a difference between them?
And the second case, between:
default on-screen keyboard
compilated AutoIt script
..any other software that emulating press X button
I guess the only way to find out "how exactly button was pressed" is to check current processes list via taskmgr and find out have anything been launched or not. Or I'm totally wrong here, and missing something?
THE SCOPE
I have written a node.js script which emulates button pressing behaviour in windows app.
TL:DR business logic short => open notepad.exe and type `Hello world`
And could someone give me any advice/recommend any powershell/bat script (or any other solution) with demonstration of Get­Async­Key­State check behavior? With which I could easily check my own node.js script (not by functional of it, but by triggering press the X button event)
I found an answer for node.js case here: Detecting Key Presses Across Applications in Powershell
SendInput is the preferred method to generate user input in software. The Windows on-screen keyboard probably uses it for everything except Ctrl+Alt+Delete which I believe has some kind of special handling. The on-screen keyboard is only able to generate Ctrl+Alt+Delete in certain configurations.
Software-generated input is merged with normal hardware input in the RIT (Raw Input Thread) in the kernel.
A low-level keyboard hook can detect software-generated input.

Detect when a user switches windows

I'm curious to know if this is possible, I want to know when a window loses focus.
I know in linux it can all be seen with xev (perhaps multiple sessions monitoring all the windows), but I need a solution in Windows.
A VM running windows in seamless mode does not help - since all internal windows are considered the 'virtualbox window', xev does not pick up internal activity.
Is there a hook to do this? Are there any other ways? I can't count on the user using alt-tab, some may click to change windows.

How to cancel the windows shortcut key when I use emacs 24.3 in gui in windows?

I download the emacs 24.3 in http://ftp.gnu.org/pub/gnu/emacs/windows/
In a gui mode, I found the following trouble. So I want to cancel the windows shortcut key
The 1st example is that I define the shortcut "C-F2" in linux and I also want to use it in windows.
The 2nd example "C-space" makes me to mark things but it is not working in windows. It is obvious that emacs are occupied by the windows shortcuts. How can I cancel the windows shortcut key when I use emacs in windows?
I suspect these are not taken by Windows itself, but by your IME. It may be possible to change the keys in the IME Settings.

How to reassign Home and End keys using Windows keyboard on Mac?

I am new to Mac and found that the only convenient keyboard for me is a Windows full keys keyboard without the numeric pad (MS gaming keyboard). Would it be possible to make the Home and End keys behaving exactly as in Windows?
KeyRemap4MacBook worked fine for me. One needs to choose "For PC users", then use PC style Home/End, then reload XML

How to disable the appearence of the taskbar when a USB is plugged?

I'm developing a software that should be able to "lock" the computer in it, so there will be no chance for any user to return to Windows and use other softwares except if he closes the software using a key (I guess this is what people call to operate in kiosk mode).
After much research I managed to disable Ctrl, Windows Key and Alt using hooks and registry files, so with this I could eliminate (I think) all ways of the user getting away from the software from the keyboard.
But now I found that if somebody plugs an USB device (e.g. a pendrive/data traveler), considering W7, the taskbar immediately apears alongside that traditional dialog where you can choose what you're going to do with the USB device you plugged (open its contents with Explorer, etc.), so somebody can go away from the software apart from the keyboard.
I would like to know how could I stop this, by code or registry (code would be much better!), so if somebody plugs a pendrive the taskbar don't appear and neither that dialog. If I can block USB input from thoose already used (by mouse and keyboard), that could also help.
Btw, if somebody knows of any other tricky way of going away from a kiosk-mode app, tell me!
Thanks,
Momergil
If you replace explorer.exe with your own application in the Shell value of the Winlogon registry key, your application will be started instead of Explorer. Then all you need to do is disable Task Manager, which can be done via a group policy setting.
The full path to the Winlogon key is
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Why don't you just stop explorer.exe, disable Ctrl+Alt+Delete and Ctrl+Shift+Esc to enter kiosk mode?

Resources