Keyboard layout

Deze week werd ik geconfronteerd met een bekend probleem; toetsenbord indeling bij Citrix gebruikers…
Lees hier hoe een heel simpel probleem eigenlijk heel simpel is op te lossen;

Wat is het probleem nou eigenlijk?
In de betreffende omgeving staat een Desktop Silo met een aantal Citrix servers. Op elke server staat een mandatory profile, een profile kit (proflwiz.exe) en configuratie files. Deze worden netjes gesynchroniseerd door de DeNamiK EMSS (Environment Management and Synchronization Suite).

De klant heeft toetsenborden met verschillende indelingen verspreid over de diverse vestigingen.
Bij het inloggen van een gebruiker krijgt de gebruiker de instellingen zoals deze zijn ingesteld in het mandatory profile. Bijvoorbeeld;

  • Engels (Verenigde staten internationaal)
  • Nederlands (Nederlands) *
  • Nederlands (Verenigde staten internationaal)

* = Standaard

Dit betekent dat alle gebruikers die geen Nederlandse toetsenbord indeling hebben dit moeten aanpassen.
Maar wat gebeurt er als een gebruiker dit heeft aangepast? Het wordt niet opgeslagen (mandatory profile Wink) en dan zijn er nog van die ‘intelligente’ applicaties èn een uiterst handige shortkey (NOT Confused!).

Tijdens het werken in bijvoorbeeld Microsoft Word wordt er bij elke woord gekeken welke taal de tekst is en geprobeerd de bijbehorende instelling in de Language bar op te zoeken. Daarnaast heeft Windows de handige ‘feature’ om voor elk venster applicatie een aparte configuratie toe te passen. Zo kan je Outlook (ook Word..) in Nederlands (Nederlands) zijn…
…Internet Explorer Nederlands (Verenigde staten internationaal) … en Microsoft Word Engels (Verenigde staten internationaal). Kortom; CHAOS!

Druk je tijdens het typen je linker ALT + SHIFT (sukkel, dat doe je toch niet) dan heeft Windows je al geholpen naar een nieuwe instelling. Bedankt!

“Het zal aan mij liggen, maar ik zie het nut hier niet van in. Maar daar hebben we het nu niet over.”

Eenvoudig oplossing?
Goed, eenvoudig op te lossen door HKCUKeyboard Layout op te slaan bij het uitloggen en toe te passen bij het inloggen. Paar minuutjes werk…
Helaas! Zo eenvoudig steekt de(ze) wereld niet in elkaar Sad

Ondanks wat pogingen om dit op te lossen met scripts, registry files en setlocale.exe heeft dit allemaal niet het gewenste resultaat.
Uiteraard lukt het wel om een standaard indeling aan te passen, bijvoorbeeld door je Citrix client configuratie goed in te stellen, maar dan nog staan al die andere indelingen er in. En dan beland je weer in de chaos zoals ik hierboven al beschreef.

Waarom werkt dat niet?
Heel simpel eigenlijk.
Bij het inloggen wordt je sessie geïnitaliseerd en worden er een aantal basale instellingen toegepast. Onder andere je internationale instellingen (je kan immers een datum in je script weergeven gebruiker…) en ook je toetsenbord indeling.

Kortom; alles wat je daarna aanpast is zinloos. De instellingen zijn door Windows toegepast en daarmee is het uit.
Je kan register settings toevoegen of verwijderen, Windows kijkt er niet naar.

De oplossing (echt, tè simpel)
Uiteindelijk ging het lampje bij me aan. Wat nou als Windows gèèn settings heeft? Wat doet Windows dan?
Heel simpel, hij kijkt naar de instelling van de client en past deze toe. Was dat niet het resultaat dat we zochten? (Ja!)

Wat heb ik gedaan om tot dit resultaat te komen?
1) Op de bron server (van DeNamik EMSS) heb ik NTUSER.man geopend (load hive in registry editor)…
2) de key HKCUKeyboard Layout verwijderd
3) NTUSER.man sluiten (unload hive…)
4) wachten tot alles is gesynchroniseerd en…
5) …testen maar!

“Je kan natuurlijk alles ook handmatig kopiëren naar alle servers in de silo, maar ik ben een IT’er Green with Envy

Vervolgens is het zaak om je client (Thin of Fat client) goed te configureren. In Windows met de juiste regionale instelling en toetsenbord indeling, en in Citrix de ICA Settings instellen op (de standaard) instelling;

Keyboard Layout (User Profile)
Keyboard Type (Default)

Simpel hè?

Ingmar Verheij

Was once an enthusiastic PepperByte employee but is now working at Citrix. His blogs are still valuable to us and we hope to you too.