Já si to nedokážu představit, že/jak by to ve Windows fungovalo. Jak bych docílil třeba toho, že bych k PC připojil třeba dvě klávesnice, jednu českou, druhou ruskou a bez přepínání klávesnice vpravo dole u hodin bych mohl psát chvíli česky, chvíli rusky.
Přemapování čehokoliv pomocí scriptů znám a občas ve hrách používám, ale netuším, jak bych mohl docílil toho, aby na jedné klávesnici stisknutí "F" bylo považováno za "F" a na druhé třeba za "…" (Alt+0133).
Tak jsem se zeptal AI a zde je výsledek:
; Předpokládejme, že klávesnice 1 je vaše hlavní klávesnice a klávesnice 2 je ta, která má být namapována na speciální znaky
; Tento skript detekuje stisknutí klávesy "F" na klávesnici 1 a pošle znak "F"
; Pokud je stisknuta klávesa "F" na klávesnici 2, pošle sekvenci pro vložení znaku "…"
#include <Misc.au3>
Global $hDLL = DllOpen("user32.dll")
While 1
If _IsPressed("46", $hDLL) Then ; Hexadecimální kód pro klávesu "F"
$aInput = InputBox("Klávesnice", "Stiskněte '1' pro hlavní klávesnici nebo '2' pro druhou klávesnici.")
Switch $aInput
Case "1"
Send("F")
Case "2"
Send("{ALTDOWN}" & "0133" & "{ALTUP}") ; Sekvence pro znak "…"
Case Else
MsgBox(0, "Chyba", "Neplatný vstup.")
EndSwitch
EndIf
Sleep(100) ; Krátká pauza pro snížení zatížení procesoru
WEnd
DllClose($hDLL)
Tento skript používá funkci _IsPressed z AutoIt knihovny pro detekci stisknutí klávesy "F". Když je klávesa "F" stisknuta, skript zobrazí vstupní dialog, kde můžete zadat, zda byla klávesa stisknuta na hlavní klávesnici (1) nebo na druhé klávesnici (2). Podle vašeho výběru pak skript pošle buď znak "F" nebo sekvenci pro vložení znaku "…".
Všimněte si, že tento skript je pouze základní příklad a pro skutečné rozlišení mezi dvěma fyzickými klávesnicemi by bylo potřeba implementovat pokročilejší detekci zařízení, což může vyžadovat speciální hardwarové nebo softwarové řešení.
Takže IMHO nic moc… to už je jednodušší používat ty Alt+něco kódy nebo přepínat klávesnice u hodin. A nebo psát latinou i suka blyat.
-----
edit: teď koukám na ty odkazy od Touchwooda, tak třeba to půjde.
Já to až tak nepotřebuji, spíše mě to jen zajímá jako zajímavost, když už tu je takový zajímavý dotaz se zajímavým požadavkem na zajímavou funkčnost :)
edit2: jo, šlo by to. Ale tady beze zbytku platí to rčení o dobrém sluhovi a (opravdu!) zlém pánovi.