Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Druhá klávesnice - přemapování znaků

Dobrý den, mám takový zvláštní dotaz. Potřeboval bych si koupit numerickou klávesnici, ALE potřebuji ji přemapovat tlačítka na zkratky, nebo na různé znaky. Problém je ten, že na hlavní klávesnici mám taktéž numerické klávesy, ale u té potřebuji, aby byla zachována jejich funkce. Zkusím sem hodit nějaký náčrt pro lepší vysvětlení.
[img]https://i.ibb.co/yyS4yVq/klavesnice.png[/img]

Zkoušel jsem soft PowerToys a připojit druhou klávesnici, tzn měl jsem k PC připojené 2 klávesnice. I když jsem namapoval tlačítko "0" na znak "®", tak mi ve wordu, notepadu při stisknutí klávesy "0" se napsal znak "®" - takže se mi to vlastně podařilo namapovat. Jenže. Tento znak se mi napsal pokaždé, když jsem zmáčknul "0" na obou klávesnicích. Proč to vlastně potřebuji? Protože si potřebuji udělat "dálkové ovládání" pro jeden SW a tam si můžu namapovat jakýkoliv pokyn pro jakoukoliv klávesu. Problém je, že když třeba budu psát v tom programu čísla, tak se mi budou místo čísel vykonávat zkratky. Nehledě na to, že, klávesa 0 je VŽDY podle systému "NumPad0" a toto potřebuji změnit.

[img]https://i.ibb.co/q5Z2WM9/NumPad.png[/img]

Moc Vám děkuji za pomoc

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Já si to nedokážu představit, že/jak by to ve Windows fungovalo. Jak bych docílil třeba toho, že byc…
L-Core 26.03.2024 06:58
L-Core
Na linuxu bez problému můžu číst a zpracovávavat každou připojenou klávesnici zvlášť, akorát se to o… poslední
gilhad 27.03.2024 12:08
gilhad

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.

Na linuxu bez problému můžu číst a zpracovávavat každou připojenou klávesnici zvlášť, akorát se to obvykle z praktických důvodů agreguje dohromady.
Ale klidně můžu mít připojeno i několik identických klávesnic a rozlišovat, na které bylo co zmáčknuto a třeba to na jedné interpretovat jako češtinu, na druhé jako angličtinu a na třetí jak japonštinu - jsou to fyzicky tři různá zařízení, není důvod, proč by to nemělo jít :)

Zpět do poradny Odpovědět na původní otázku Nahoru