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 Manager → Human 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.
- Press Windows + R → paste:
2. Check Required Services
Ensure these services are active and not disabled:
| Service Name | Display Name | Startup Type |
|---|---|---|
| TabletInputService | Touch Keyboard and Handwriting Panel | Manual (Trigger Start) |
| TextInputManagementService | Text Input Management Service | Manual (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
- Reboot and sign in as the kiosk user.
- Ensure no physical keyboard is attached.
- Tap an input box in your kiosk app.
- OSK should appear automatically.
- 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
| Test | Expected 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.

