Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Touch Keyboard and Handwriting Panel Service" isn't running #8228

Closed
vefatica opened this issue Nov 11, 2020 · 36 comments · Fixed by #8524
Closed

"Touch Keyboard and Handwriting Panel Service" isn't running #8228

vefatica opened this issue Nov 11, 2020 · 36 comments · Fixed by #8524
Labels
Needs-Tag-Fix Doesn't match tag requirements Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. Resolution-Won't-Fix We're just really obstinate about this. There's probably a good reason.

Comments

@vefatica
Copy link

How do I get rid of this?

image

@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Nov 11, 2020
@DHowett DHowett closed this as completed Nov 11, 2020
@DHowett
Copy link
Member

DHowett commented Nov 11, 2020

This message is self-evident.

@vefatica
Copy link
Author

I don't care to turn on a service just to get rid of an annoying popup that says it's not on. It has no function and has never been on here. Is there another way?

@DHowett
Copy link
Member

DHowett commented Nov 11, 2020

We've had approximately 500 users report that their keyboards don't work in Terminal, and in 98% of those cases it ended up being because they had this service disabled. Maybe it works for you without that service, but it turns out that it's an important part of the modern app infrastructure in Windows and shouldn't be disabled. It makes applications behave unpredictably.

@vefatica
Copy link
Author

It has been disabled since this computer was new (16 months). There has never been an issue. I respectively request that you give users a way to leave that service disabled and avoid the popup.

@DHowett DHowett added the Resolution-Won't-Fix We're just really obstinate about this. There's probably a good reason. label Nov 11, 2020
@DHowett
Copy link
Member

DHowett commented Nov 11, 2020

Nope. Sorry. Disabling random system services is not supported.

@DHowett
Copy link
Member

DHowett commented Nov 11, 2020

(If we add such an option, it will be titled iAmTheKindOfPersonWhoDisablesRandomSystemServicesAndAcceptThatThisIsNotASupportedConfigurationSoStopTellingMeAboutIt and it will delete the feedback link from the main menu.)

@vefatica
Copy link
Author

Nothing random about it. It's a service I don't need.

@zadjii-msft
Copy link
Member

Alright so this raises even more questions! We're under the impression that disabling that service will 100% of the time also break the keyboard input to the Terminal. We're also not 100% sure why it's needed to get input to the Terminal, but it definitely is. So the fact that you can have the service disabled, and have the Terminal still work fine is mind-boggling to me.

I'm gonna summon more folks from the input team to investigate. The last we talked with them, they were confident that the service shouldn't be disabled in any circumstance, and disabling it might break things randomly. If you're lucky and the Terminal wasn't broken by disabling that service, it doesn't mean you don't need it - it just means that something else down the line will mysteriously break.

@vefatica
Copy link
Author

Does it have anything to do with the actual physical keyboard? Mine is an oldie ... PS/2.

@zadjii-msft
Copy link
Member

Surprisingly, the latest theory is that the real process we need is ctfmon.exe. @vefatica, is that process running for you? Apparently the service helps ensure that ctfmon is running and continues running, and you might just be lucky that ctfmon.exe is running without that service being enabled.

@vefatica
Copy link
Author

Ctfmon.exe is not running.

@vefatica
Copy link
Author

I do have a task running that sounds related:

Folder: \Microsoft\Windows\TextServicesFramework
TaskName: MsCtfMonitor

When I try to stop it it doesn't stop and Last Error is 267014. SCHTASKS says it was started 2020-11-11 17:07:56. The only processes I have that were started at that time are these.

11/11 17:07:56.478 5852 0.016 7.1 unsecapp.exe
11/11 17:07:56.627 5936 0.531 25.0 sihost.exe
11/11 17:07:56.855 5556 6.688 119.6 explorer.exe

11/11 17:07:56.643 5972 0.281 28.5 WpnUserService_57c2c Windows Push Notifications User Service_57c2c
11/11 17:07:56.651 6008 0.063 18.6 FontCache3.0.0.0 Windows Presentation Foundation Font Cache 3.
11/11 17:07:56.879 5712 0.000 10.0 NcbService Network Connection Broker

@vefatica
Copy link
Author

Actually that task does end; you can't see that in the Tasks GUI, but an instance of taskhostw.exe terminates. And Windows Terminal still works just fine.

@ghost
Copy link

ghost commented Nov 24, 2020

Same. This popup is annoying and I've never had issues with keyboard input. Please give us an option to disable the popup.

@cornem
Copy link

cornem commented Nov 27, 2020

Same here. The reason I have disabled this service is because I'm using a Wacom pen, and I don't need the onscreen keyboard to keep popping up. Windows Terminal has been working fine since I started using it when it was still in preview. This popup is rather annoying, because it's shown every time.

Could you consider:

  1. If there's a way to be more specific in checking which services are required. I would assume this isn't 100% accurate a.t.m., since the Terminal actually works great for me with this service disabled. Never had a problem.
  2. Add an option to disable the warning.
  3. Make the warning less obtrusive - maybe a 'snack'-like popup in the top right that disappears automatically after x seconds.
  4. Show the dialog only x times.

Personally I would prefer if you could prioritize option 1 or 3.

@piscisaureus
Copy link

I would really appreciate an option to disable this warning too.

I disabled the specific service for a reason: enabling it adds noticeable keyboard lag in certain applications(*), which I find very uncomfortable to work with. This is happening on a 7 month old Surface Book 2, running an up-to-date version of Windows 10 pro (default channel).

Windows Terminal works fine without it. Disabling TabletInputService does prevent the on-screen keyboard from showing when the screen is detached, but the trade-off is well worth it: having the physical keyboard function properly is it is much more important to me.

(*): At least Chrome and VS Code are affected. I've done some investigation into this; a procmon trace shows that when the service is running, ctfmon.exe starts and exits on every keypress.

(My apologies for the repost from #7886, but it seems the discussion has moved to this thread.)

@ghost ghost added In-PR This issue has a related PR Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. and removed In-PR This issue has a related PR labels Dec 8, 2020
ghost pushed a commit that referenced this issue Dec 14, 2020
This changes the keyboard warning from a dialog to an `InfoBar`, which
we just got in MUX 2.5. Some users were unhappy that we'd always display
the dialog. We learned from the input team that this service _should_
always be enabled. We're also learing from users that they don't always
want it enabled. 

We're working with the Input team to help us figure out how this service
can be disabled _and the Terminal work just fine_. They're confident
that it _shouldn't_. For 99% of our users, they're right. So we don't
want to get rid of the dialog entirely, we want to understand how this
is possible. While we wait, let's make the message less aggressive.

This is instead of making a `iKnowWhatImDoingDisableTheKeyboardWarning`
setting to disable the dialog. Props to @cornem for suggesting the less
aggressive solution. 

## Validation Steps Performed
Tested manually, but by forcing the message to always display. Disabling
the service requires two full reboots, and _ain't nobody got time for
that_.

Closes #8228
Closes #4448, for now
@levicki
Copy link

levicki commented Dec 24, 2020

@DHowett I am the kind of person that not only disables, but also deletes system services I don't like (DiagTrack I am looking at you). Hardware is mine, you can't do with it as you please.

That aside, on my desktop system Windows Terminal works just fine without both TabletInputService and ctfmon.exe running.

Then again, I am using US English keyboard layout on a physical keyboard, and I don't have a Bluetooth keyboard or any kind of touch screen so YMMV.

Here is a good overview of what ctfmon.exe is used for. Perhaps it helps you figure out what kind of Windows Terminal users have issues when it is not started. My wild guess would be those who use one or more of Bluetooth keyboards, complex scripts (Chinese, Japanese, etc), touch screen (i.e. on-screen keyboard), or handwriting for text input.

@mdcclxv
Copy link

mdcclxv commented Jan 2, 2021

Same boat here. I need an option to avoid the popup and keep the service disabled. InforBar is not acceptable as long as it has to be dismissed manually. Is still annoying.

@DHowett : "it turns out that it's an important part of the modern app infrastructure in Windows and shouldn't be disabled". That's simply not true. As long there is a single case that contradicts you, then your affirmation only holds true in a certain situation, which, obviously, doesn't apply to everyone. So, please be open minded and stop putting out "absolute truths".

@mdcclxv
Copy link

mdcclxv commented Jan 3, 2021

@zadjii-msft regarding your last comment on #8692 and to all others having the same attitude/opinion towards disabling services: I don't mean to be offensive in any way, but you need to stop worrying so much for others. We're not kindergarten children. If I decide to disable a service it's my decision and I assume it. Having an option to circumvent an annoying popup/InfoBar seems to me elementary and I don't see any harm in implementing it as long as you put the necessary warning on that option in the settings file. From that point it's the user's choice/risk. And that's how things should be. Otherwise we should stop selling kitchen knives out of the fear of people misusing them or hurting themselves. It really doesn't make sense. My two cents on this overprotective attitude.

@DHowett

This comment has been minimized.

@mdcclxv

This comment has been minimized.

@DHowett

This comment has been minimized.

@mdcclxv

This comment has been minimized.

@zadjii-msft
Copy link
Member

Alright everyone, we still want to get to the root cause of this. I'm tapping @ebadger in to try and investigate all y'all who do have ctfmon.exe not running and Terminal input working seemingly fine. Keep it on topic.

@microsoft microsoft unlocked this conversation Jan 4, 2021
@vefatica
Copy link
Author

vefatica commented Jan 7, 2021

With the upgrade to 20H2 a couple weeks ago, things have changed here. WT still works fine without ctfmon.exe or the service, but without ctfmon, typing after opening the start menu doesn't work. So for now, the service is enabled and it makes sure ctfmon is running.

But there is a new wrinkle ... TextInputHost.exe. Many actions will cause it to start and many won't. Some actions that cause TextInputHost.exe to start are

typing in Firefox's find dialog (Ctrl-F)
opening the start menu
any change of focus for which Windows Terminal is the recipient including switching tabs/panes
switching to and typing in, this message composition window

Things that don't cause it to start:

any editor
the Win-R dialog (Run)
any app in a console.

The only thing that seems to suffer if I kill TextInputHost.exe several times a second is the emoji picker and I've read that the emoji picker is TextInputHost.exe's raison d'être.

When I rename TextInputHost.exe's directory, everything I want works but the System event log gets a DCOM error entry every time it would start (which is often).

Does anyone know more about this thing, in particular, how to defeat it elegantly?

@DHowett
Copy link
Member

DHowett commented Jan 7, 2021

I am happy to discuss mitigating problems with stopping this service, and how Terminal can act better when your system is in an unsupported configuration. I will, however, delete content that advises users on how to damage their system configuration in this manner. Sorry.

@levicki
Copy link

levicki commented Jan 7, 2021

@vefatica I suggest asking such questions on tenforums or mdl forums, not here. It is totally irrational to expect "help" of that kind from Microsoft developers.

DHowett pushed a commit that referenced this issue Jan 25, 2021
This changes the keyboard warning from a dialog to an `InfoBar`, which
we just got in MUX 2.5. Some users were unhappy that we'd always display
the dialog. We learned from the input team that this service _should_
always be enabled. We're also learing from users that they don't always
want it enabled.

We're working with the Input team to help us figure out how this service
can be disabled _and the Terminal work just fine_. They're confident
that it _shouldn't_. For 99% of our users, they're right. So we don't
want to get rid of the dialog entirely, we want to understand how this
is possible. While we wait, let's make the message less aggressive.

This is instead of making a `iKnowWhatImDoingDisableTheKeyboardWarning`
setting to disable the dialog. Props to @cornem for suggesting the less
aggressive solution.

## Validation Steps Performed
Tested manually, but by forcing the message to always display. Disabling
the service requires two full reboots, and _ain't nobody got time for
that_.

Closes #8228
Closes #4448, for now

(cherry picked from commit ff5b2b8)
mpela81 pushed a commit to mpela81/terminal that referenced this issue Jan 28, 2021
This changes the keyboard warning from a dialog to an `InfoBar`, which
we just got in MUX 2.5. Some users were unhappy that we'd always display
the dialog. We learned from the input team that this service _should_
always be enabled. We're also learing from users that they don't always
want it enabled. 

We're working with the Input team to help us figure out how this service
can be disabled _and the Terminal work just fine_. They're confident
that it _shouldn't_. For 99% of our users, they're right. So we don't
want to get rid of the dialog entirely, we want to understand how this
is possible. While we wait, let's make the message less aggressive.

This is instead of making a `iKnowWhatImDoingDisableTheKeyboardWarning`
setting to disable the dialog. Props to @cornem for suggesting the less
aggressive solution. 

## Validation Steps Performed
Tested manually, but by forcing the message to always display. Disabling
the service requires two full reboots, and _ain't nobody got time for
that_.

Closes microsoft#8228
Closes microsoft#4448, for now
@gotthastan
Copy link

I am happy to discuss mitigating problems with stopping this service, and how Terminal can act better when your system is in an unsupported configuration. I will, however, delete content that advises users on how to damage their system configuration in this manner. Sorry.

disabling this service is literally suggested as a performance improvement by MS in a VDI solution. why would i EVER need the tablet input service running on a vdi?

https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-vdi-recommendations-2004#windows-optional-features-cleanup

look for "TabletInputService" on the page above.

saying it is unsupported is not exactly correct. the terminal should work with the service off in an optimized VDI configuration.

@DHowett
Copy link
Member

DHowett commented Aug 31, 2021

That's good to know! Thanks!

That's a really actionable piece of feedback we can take to the input team.

@cphurley82
Copy link

I'm unable to use Windows Terminal from my company supplied Azure Virtual Desktop due to this problem.

@JunkyXL86
Copy link

I am happy to discuss mitigating problems with stopping this service, and how Terminal can act better when your system is in an unsupported configuration. I will, however, delete content that advises users on how to damage their system configuration in this manner. Sorry.

disabling this service is literally suggested as a performance improvement by MS in a VDI solution. why would i EVER need the tablet input service running on a vdi?

https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-vdi-recommendations-2004#windows-optional-features-cleanup

look for "TabletInputService" on the page above.

saying it is unsupported is not exactly correct. the terminal should work with the service off in an optimized VDI configuration.

Service definitively disabled on my VDI as well. Now I have to back up to PowerShell.

@ebadger
Copy link

ebadger commented Apr 13, 2022

Thanks for the doc link.

For AVD we're now testing configurations where this service is used to virtualize edit information across machine boundary to enable "like local" experiences via local input methods in the client OS. This enables features like voice typing, handwriting, IMEs, emoji / symbol picker, cloud clipboard, software input to work in these virtualized app scenarios.

Additionally, if you're virtualizing UWP apps (or Terminal) this could lead to basic functionality issues with keyboard input in those apps.

Thanks,

Eric

@gotthastan
Copy link

gotthastan commented Apr 13, 2022 via email

@ebadger
Copy link

ebadger commented Apr 13, 2022

already done in the current release. new name is Text Input Management Service

@julie777
Copy link

We've had approximately 500 users report that their keyboards don't work in Terminal, and in 98% of those cases it ended up being because they had this service disabled. Maybe it works for you without that service, but it turns out that it's an important part of the modern app infrastructure in Windows and shouldn't be disabled. It makes applications behave unpredictably.

Terminal was working just fine with the service disabled until Windows Update applied updates today and restarted. All my other Microsoft apps still work just fine. The answers given don't seem to account for all the details given.

image

@julie777
Copy link

I just started the service and restarted Terminal. It still doesn't recognize keyboard input

@microsoft microsoft deleted a comment from DJStompZone May 15, 2024
@microsoft microsoft locked as resolved and limited conversation to collaborators May 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Needs-Tag-Fix Doesn't match tag requirements Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. Resolution-Won't-Fix We're just really obstinate about this. There's probably a good reason.
Projects
None yet
Development

Successfully merging a pull request may close this issue.