stuartd / keymapper
Pokud to neuděláte, vaše mapování nebude fungovat
Exportováno z code.google.com/p/keymapper
Zprovozněte klávesnici tak, jak chcete
Přemapujte a zakažte klávesy pomocí virtuální klávesnice
Stále je k dispozici ke stažení
Stáhněte si soubor .exe
Budete také muset mít k počítači přístup pro správu.
Je to proto, že Windows XP i Vista podporovaly mapování kláves na uživatele zapsané do HKEY_CURRENT_USER\Keyboard Layout
a v době vydání KeyMapperu to byly nejnovější verze.
Poté přišel systém Windows 7, který neoficiální nebo náhodnou podporu zrušil a nevypadá to, že by se vrátil.
Pokud vás to zajímá, níže je reprodukován můj původní příspěvek na blogu z roku 2008 o mapování scancode pro jednotlivé uživatele.
Práci potřebnou k portování jsem provedl v roce 2012 a to představuje současná hlavní větev.
Vlastnosti
Key Mapper používá k vytváření a zobrazování mapování virtuální klávesnici. Změní klávesnici tak, aby odrážela jakoukoli klávesnici, kterou má uživatel aktuálně aktivní. Pokud chcete, můžete procházet klávesnice nainstalované v počítači.
Pro pohodlí lidí, kteří mají vypnuté klávesy Caps Lock, Num Lock nebo Scroll Lock, má Key Mapper možnost přepínat hodnoty těchto kláves v případě, že – například – aplikace nastaví Caps Lock zapnutý, ale klávesa je vypnutá.
Dostupné soubory ke stažení
Key Mapper je aplikace pro Windows Form napsaná v jazyce C#, zaměřená na .NET Framework 2.0. V případě, že je klávesa Caps Lock zapnutá, je možné ji přepnout. Většina lidí si stáhne instalační program MSI, ale existuje také balíček Setup (ty používají NGEN k optimalizaci aplikace při instalaci), ale existuje také obyčejná verze .exe.
Domovská stránka projektu: https://github.com/stuartd/keymapper
Podpora: mailto:[email protected]
Mapování scancode pro jednotlivé uživatele
Jednou z věcí, kterou se Key Mapper liší od ostatních programů pro mapování scancode, je to, že umožňuje mapovat nebo zakázat klávesy pro jednotlivé uživatele: Když společnost Microsoft původně implementovala mapování scancode v systému Windows 2000, uvedla v části „nevýhody“:
Mapování uložené v registru funguje na úrovni systému a platí pro všechny uživatele. Tato mapování nelze nastavit tak, aby fungovala odlišně v závislosti na aktuálním uživateli.
To proto, že mapování jsou uložena v klíči HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
, který ke změně potřebuje administrátorský přístup a je načítán pouze při spuštění systému.
V systému Windows XP však byla v tichosti, bez fanfár a dokumentace zavedena mapování na uživatele: mapování scancode nastavená v klíči HKEY_CURRENT_USER\Keyboard Layout
jsou rozpoznána a platí pro individuální profil uživatele. To znamená, že mapování lze přidat nebo odebrat odhlášením a opětovným přihlášením – stále je to nepohodlné, ale méně než úplný restart: znamená to také, že mapování lze nastavit uživatelům bez práv správce. (Mapování nastavená v HKEY_LOCAL_MACHINE
jsou přepsána mapováními v HKEY_CURRENT_USER
).
Je možné, že to Microsoft zamlčel, protože mapování uživatelů není kompatibilní s rychlým přepínáním uživatelů: při přepnutí na již přihlášený účet se mapování znovu nenačte. Je také možné, že si vývojový tým pro rychlé přepínání uživatelů neuvědomil, že by se mapování uživatelů mělo při přepínání uživatelů znovu načíst, protože to zamlčel. Mapování při spuštění přetrvává i přes Fast User Switching.
Je to sice možná nevýhoda používání mapování uživatelů, ale většina lidí pravděpodobně stejně nepoužívá na svém počítači více než jeden účet a u počítačů připojených k doméně (tj. firemních počítačů), které mohou často používat různí lidé, stejně není Fast User Switching%27 k dispozici.
Mapování uživatelů má i některé další výhody:
- Nevyžadují nastavení nebo odebrání práv správce.
- Různí uživatelé mohou mít různá mapování – jeden může mít Caps Lock vypnutý, ale Num Lock povolený, jiný je může mít naopak
- Klávesy lze mapovat na sdílených počítačích, aniž by to ovlivnilo všechny uživatele
Je tu ještě jedno místo, kde lze nastavit mapování scancode – v klávese HKEY_USERS\.DEFAULT\Keyboard Layout
. Ty se použijí při výzvě k přihlášení, ale po přihlášení se odstraní
.