Fix On-Screen Keyboard Not Working in Windows 11 Multi-App Kiosk Mode

Fixing On-Screen Keyboard Not Working in Windows 11 Multi-App Kiosk Mode

If your on-screen keyboard (OSK) doesn’t appear in Windows 11 Multi-App Kiosk Mode, you’re not alone. It’s a common issue when Windows can’t trigger the touch keyboard for kiosk users. Here’s how to fix it with clear, step-by-step instructions.


1. Verify Basic Requirements

Before diving into registry or policy tweaks, confirm these:

  • No physical keyboard is attached (Windows won’t auto-show OSK if one is detected).
  • Touch screen works:
    • Open Device ManagerHuman Interface Devices → make sure HID-Compliant Touch Screen is Enabled.
  • Try manual OSK launch:
    • Press Windows + R → paste: C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe
    • If it opens manually, the input service is fine — the kiosk config is blocking auto-invoke.

2. Check Required Services

Ensure these services are active and not disabled:

Service NameDisplay NameStartup Type
TabletInputServiceTouch Keyboard and Handwriting PanelManual (Trigger Start)
TextInputManagementServiceText Input Management ServiceManual (Trigger Start)

PowerShell check:

$svc = 'TabletInputService','TextInputManagementService'
Get-Service $svc | Select Name,Status,StartType

If any show “Disabled”, re-enable:

sc.exe config TabletInputService start= demand
sc.exe config TextInputManagementService start= demand

3. Enable Auto-Invoke via Registry (Key Fix)

Windows doesn’t automatically show OSK in classic Win32 apps.
Fix it for your kiosk user account with these registry settings:

Registry Path:

HKCU\Software\Microsoft\TabletTip\1.7

Add these DWORD values:

EnableDesktopModeAutoInvoke = 1
EnableAutocorrection = 1
EnableTextPrediction = 1

PowerShell (run in kiosk user context):

$path = 'HKCU:\Software\Microsoft\TabletTip\1.7'
New-Item -Path $path -Force | Out-Null
New-ItemProperty -Path $path -Name EnableDesktopModeAutoInvoke -Value 1 -PropertyType DWord -Force

💡 Tip: Deploy via Intune PowerShell script with “Run this script using logged-on credentials” enabled.


4. Allow OSK Components in Kiosk Configuration

In Intune or Assigned Access XML, make sure the following system apps are allowed:

  • ShellExperienceHost.exe
  • TextInputHost.exe

If you list apps manually in your kiosk profile, add these.
If you allow “All system apps,” you can skip this.

Path:
Intune Admin Center → Devices → Windows → Configuration Profiles → Kiosk → Multi-App Mode → Allowed Apps.


5. Force OSK to Show When No Keyboard Is Attached

Set the system to always show the touch keyboard when no hardware keyboard is connected:

Registry:

HKCU\Software\Microsoft\TabletTip\1.7
EnableDesktopModeAutoInvoke = 1

This matches the GUI toggle:
Settings → Time & Language → Typing → Touch keyboard → “Show when no keyboard attached” = On


6. Pre-Launch OSK at Logon (Optional)

If some Win32 apps still don’t invoke the keyboard automatically:

Option A – Add to startup:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"OSK"="\"C:\\Program Files\\Common Files\\microsoft shared\\ink\\TabTip.exe\""

Option B – Create scheduled task:

  • Trigger: “At logon” of kiosk user
  • Action: Run C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe

7. Confirm Kiosk Profile

In Intune > Devices > Windows > Configuration > Templates > Kiosk:

  • Verify Assigned access type = Multi-App
  • Check User account is correct
  • Make sure Allowed Apps includes all your app dependencies (and Settings temporarily for testing)

8. Test the Fix

  1. Reboot and sign in as the kiosk user.
  2. Ensure no physical keyboard is attached.
  3. Tap an input box in your kiosk app.
  4. OSK should appear automatically.
  5. If not, manually start TabTip.exe and confirm that it runs properly.

9. Bonus – Intune Script Example

Deploy this script to the kiosk device in user context:

$tip = 'HKCU:\Software\Microsoft\TabletTip\1.7'
New-Item $tip -Force | Out-Null
New-ItemProperty $tip -Name EnableDesktopModeAutoInvoke -Type DWord -Value 1 -Force
$action = New-ScheduledTaskAction -Execute "$env:ProgramFiles\Common Files\microsoft shared\ink\TabTip.exe"
$trigger = New-ScheduledTaskTrigger -AtLogOn
$principal = New-ScheduledTaskPrincipal -UserId "$env:USERNAME" -LogonType Interactive
$task = New-ScheduledTask -Action $action -Trigger $trigger -Principal $principal
Register-ScheduledTask -TaskName "Launch-TabTip-OnLogon" -InputObject $task -Force | Out-Null

10. Troubleshooting Checklist

TestExpected Result
TabTip.exe launches manually✅ OSK UI loads
Services active✅ Both not Disabled
Registry values✅ Exist and set to 1
Assigned Access apps✅ Includes OSK dependencies
No physical keyboard✅ OSK auto-shows in text fields

Final Notes

If the OSK still doesn’t appear:

  • Add ShellExperienceHost.exe to kiosk allow list.
  • Check Event Viewer → Applications and Services Logs → Microsoft → Windows → TextInputFramework for errors.
  • Test with a UWP app like Notepad — if it works there, the issue is app-specific.

In summary:
The main fix is to set EnableDesktopModeAutoInvoke=1 for the kiosk user and ensure OSK-related services and apps aren’t blocked in your kiosk configuration. Once applied, Windows 11’s touch keyboard works reliably, even in multi-app kiosk mode.


Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top