If you switch to Session 0 on Windows 10, Server 2016 or Server 2019 your keyboard and mouse will not work. All keyboard presses and mouse movements will be ignored. This limitation is intentional on Microsoft's part and is NOT a limitation imposed by FireDaemon Pro or FireDaemon Zero.

Why Has Microsoft Done This?

As mentioned, this is intentional on Microsoft's part. Based on technical correspondence we had with Microsoft this is "intentional", "by design" and for "security reasons". We had no luck eliciting the exact "security reasons" from Microsoft. Our opinion is that whilst Microsoft has every right to make changes to their operating systems, the rationale behind this change is obscured by the fact that Microsoft already has a sizeable fleet of desktop and server operating systems in the field with this functionality enabled.

Can I Ask Microsoft To Fix This?

You can try. If you have a Microsoft Contract ID you can try submitting a Microsoft Premium Support Ticket and request a "design change" or "design restore". Microsoft advised us that a Bug ID has been assigned to this issue. Additionally Microsoft advised us that there is no ETA in regard to a Hotfix nor for any resolution as part of a Windows Monthly Rollup at any point in time in the future.

What Has Microsoft Changed?

Microsoft has made changes to the system device driver win32kfull.sys. Specifically, the two functions RawInputThread (for keyboard input) and xxxDesktopThread (for mouse input). For simplicity's sake, the code on Windows 8.1 and Server 2012 R2 or earlier looked like this:


The Windows 10 and Server 2016 function now looks like this:

  if (sessionId != 0)

Windows 10 Version 1803+ and Server 2019

Microsoft have decided to remove the Interactive Services Detection Service entirely on Windows 10 Version 1803 and later and Windows Server 2019. Please consult our article about this change. You will need to use FireDaemon Zero and ZeroInput to restore keyboard and mouse on Session 0 on these operating system versions.


Workaround 1: Use An Earlier Version of Microsoft Windows

If you need your keyboard and mouse to work on Session 0 simply use an earlier version of Windows (ie. Windows Vista through Windows 8.1 or Server 2008 through Server 2012 R2). Clearly this option might not be all that practical given you will have to reinstall your operating system.

Workaround 2: Deploy FireDaemon ZeroInput - Our Session 0 Keyboard and Mouse Input Restoration Driver

FireDaemon ZeroInput is a free driver that restores keyboard and mouse functionality on Session 0 on Windows 10, Server 2016 and Server 2019.

Workaround 3: Try Installing TightVNC On Your Computer

Disclaimer: TightVNC is NOT a FireDaemon Technologies Limited software product. FireDaemon Technologies Limited does not develop, promote or support TightVNC. FireDaemon Technologies Limited does not receive any remuneration from nor is affiliated with the authors of TightVNC in any way. The technical guidance below is provided as is, without any warranty or guarantees and is for informational purposes only. This information is supplied in an attempt to show that there is a possible technical workaround to the Microsoft imposed technical limitation of keyboard and mouse not working on Session 0 on Windows 10 or Server 2016.

Before attempting this workaround, you should:

  1. Thoroughly familliarise yourself with VNC
  2. Very carefully consider the security ramifications of installing an additional remote control tool such as TightVNC on your computer.
  3. Confirm your operating system version. This technique will not work on Windows 10 1803 or later nor Server 2019.

If you are comfortable with VNC and are happy installing it on your computer, then go ahead and download and install TightVNC. Complete the following steps:

  1. Install TightVNC Server on your Windows 10 or Server 2016 computer
  2. Install TightVNC Viewer on the computer you intend to connect from, in order to remote control your Windows 10 or Server 2016 computer where TightVNC Server is installed
  3. Once TightVNC is completely installed, configured, secured and setup to your liking, simply launch TightVNC Viewer on your local computer and connect to your Windows 10 or Server 2016 computer
  4. Once you have connected and logged into your Windows 10 or Server 2016 computer, try switching desktop to Session 0 via FireDaemon Pro, FireDaemon Zero (Session 0 Viewer) or via the built in Microsoft Windows Interactive Services Detection popup
  5. Your keyboard and mouse should now work again on Session 0.

We have tried other VNC based products but found that TightVNC is the only product to work properly. If you have success switching to Session 0 with another VNC based product please let us know!

Below is a screenshot showing the keyboard and mouse working on Session 0 on an older version of Windows 10. winver.exe and notepad.exe are launched on Session 0 as separate FireDaemon Pro services.