Skip to content

venkatarangan/WinTamilKbdApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WinTamilKbdApp

A Windows utility to remove ghost keyboard layouts that mysteriously appear in Windows 11.

The Problem

This is a personal project I created to solve a persistent and frustrating issue with Windows 11 keyboard layouts.

Background

I normally use EN-IN (English - India) and TA-IN (Tamil Anjal) keyboard layouts in Windows. However, Windows keeps adding EN-UK and EN-US keyboard layouts without my permission or request. This has been happening for several years across multiple Windows installations.

What I've Tried

I have exhausted nearly every troubleshooting option:

  • ✅ Ensured EN-IN is set as the locale in my Windows local account
  • ✅ Verified settings in all associated Microsoft Accounts
  • ✅ Checked Microsoft 365 Account settings
  • ✅ Migrated from free Microsoft Account (Hotmail) to Microsoft 365 Work Account
  • ✅ Formatted and reinstalled Windows multiple times
  • ✅ Tried PowerShell scripts and registry hacks

Nothing worked. The ghost layouts persist.

The Impact

These unwanted keyboard layouts appear in the Language Switcher near the System Tray, but they don't appear in Windows Settings → Languages. This creates several problems:

  1. When switching between English and Tamil, I have to press Windows+Space multiple times to cycle through the unwanted layouts - it's a real pain and takes a lot of time
  2. This significantly slows down my workflow and productivity
  3. The only manual fix is to add these ghost layouts in Settings and then remove them - but they reappear after every reboot

Visual Evidence:

Ghost layouts in Language Switcher The unwanted EN-UK and EN-US layouts appearing in the Language Switcher

Windows Settings Languages Page These ghost layouts don't appear in Windows Settings → Languages page

Program Output Sample output from WinTamilKbdApp showing detected and removed keyboard layouts

I'm Not Alone

Many users have reported this same issue on Reddit, Microsoft Community forums, and other platforms. I've submitted feedback to Microsoft, but there's no fix in sight.

My Reports:

The Solution

This Visual Basic .NET program is my attempt to scratch this itch. Built with the help of GitHub Copilot and GPT-4, it uses Win32 API to:

  1. List all installed keyboard layouts
  2. Remove the unwanted ghost layouts (EN-UK and EN-US in my case)

Status: This is a first attempt and seems to work for me so far. I'm sharing it here for the benefit of others facing similar issues and to gather feedback for further improvements.

Prerequisites

  • Platform: Windows 11 (tested on Windows 11)
  • .NET Version: .NET 8.0
  • Development Environment: Visual Studio Code with .NET SDK installed

How to Build

Prerequisites for Building

  1. Install .NET 8.0 SDK
  2. Install Visual Studio Code
  3. Install the C# Dev Kit extension in VS Code (optional but recommended)

Build Steps

  1. Clone or download this repository
  2. Open the project folder in Visual Studio Code
  3. Open a terminal in VS Code (Terminal → New Terminal)
  4. Run the following command:
dotnet build

For a release build:

dotnet build -c Release

How to Run

From Visual Studio Code

  1. Open the project in VS Code
  2. Press F5 to run in debug mode, or
  3. Use the terminal:
dotnet run

From Command Line

Direct Download & Run

You can download and run the standalone executable directly:

Download WinTamilKbdApp.exe

Or, after building, navigate to the output directory and run:

.\bin\Debug\net8.0\WinTamilKbdApp.exe

Or for the release build:

.\bin\Release\net8.0\WinTamilKbdApp.exe

Important Notes

  • Administrator Privileges: You may need to run the program with administrator privileges to modify system keyboard layouts
  • Backup: Before running, consider creating a system restore point
  • Customization: You may need to modify the code to specify which keyboard layouts you want to keep/remove

Project Structure

  • Program.vb - Main program with Win32 API calls to manage keyboard layouts
  • WinTamilKbdApp.vbproj - Project file for .NET 8.0
  • sample-run.txt - Sample output from running the program

Contributing

This is a personal project, but I welcome feedback, suggestions, and contributions from others facing similar issues. Feel free to:

  • Open an issue to report bugs or suggest improvements
  • Submit a pull request with enhancements
  • Share your experience with this tool

Disclaimer

This program modifies system keyboard settings. Use at your own risk. Always create a system backup before running system-level modifications.

License

This project is shared as-is for personal and educational use.


Note: This is a work in progress. Testing and refinement are ongoing. Your feedback is appreciated!

About

Remove unwanted keyboard layouts that Windows 11 keeps adding without permission

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors