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

Předmět Autor Datum
Pro tento účel se odjakživa používají na klávesnici funkční tlačítka F, která si můžeš namapovat pro…
Kyncl 24.03.2024 13:30
Kyncl
No ale bezdrátová numerická klávesnice nemá tlačítko "fn". Jde mi o to, že bezdrátovou numerickou kl…
Tastatur 24.03.2024 14:33
Tastatur
a) F a fn není totéž. b) proč ta bezdrátová musí být jen numerická ???
dsa 24.03.2024 14:36
dsa
Jelikož potřebuji maximálně 18 tlačítek a kvůli velikosti. Numerická klávesnice se mi vleze do ruky,…
Tastatur 24.03.2024 15:22
Tastatur
Můžeš použít bezdrátovou myš a klikat na klávesnici na obrazovce :-) 18 tlačítek asi nemá žádná. Po…
dsa 24.03.2024 15:27
dsa
c-tech-kbn-01-d4058447.htm Něco takového :) Asi to risknu a kdyz tak budu psat cislice pomoci shift…
Tastatur 24.03.2024 15:51
Tastatur
kolotočářský svítící krám sice číňan umí vyrobit, ale obě značky (connect-it, c-tech) jsou odpad, co…
lední brtník 24.03.2024 16:14
lední brtník
Mám tu bezdrát Connect-IT, s klidem doporučím Pohoda
syndrom 24.03.2024 16:22
syndrom
Na linuxu to není problém, tam se dá dostat přes /dev přímo na HW a dělat si co hrdlo ráčí. Ve wind…
touchwood 24.03.2024 18:42
touchwood
Na linuxu to není problém Ani nemusíš přes /dev, stačí změnit mapu v /usr/share/X11/xkb/symbols/cz
Rce 25.03.2024 23:18
Rce
Já si udělal klávesnici z arduina, není problém na ni pověsit skoro libovolný počet kláves a posílat…
gilhad 26.03.2024 00:44
gilhad
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
Zde jsem udelal jeden screenshot: [img]https://i.ibb.co/S02VsBv/Screenshot-115.png[/img] Dejme tom…
Tastatur 27.03.2024 08:25
Tastatur
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

No ale bezdrátová numerická klávesnice nemá tlačítko "fn". Jde mi o to, že bezdrátovou numerickou klávesnici chci použít jako "dálkové ovládání" - pendant pro ovládání cnc (Mach 3). Jenže pendanty jdou přes 2,5K a já potřebuji pouze pár tlačítek na posuv, start, stop,...

Teoreticky můžu použít i nějaký macropad z Alika.

Jelikož potřebuji maximálně 18 tlačítek a kvůli velikosti. Numerická klávesnice se mi vleze do ruky, takže kvůli tomuto 🙁 Nic jiného mě právě nenapadá. Ještě mě napadlo použít nějaký dálkový ovladač, jenže to nevím jestli lze spojit s pc. Zde je příklad pendant. Já potřebuji low cost, jelikož to mám jako hobby a 3K je dost za "ovladač".

wireless-pendant

Já si udělal klávesnici z arduina, není problém na ni pověsit skoro libovolný počet kláves a posílat si libovolné znaky do počítače
2023-07-29-Arduino-progs-Klikimouse5.html

Já si tam posílám časované sekvence klasických kláves a pohybů myší (na rozdíl od obyčejné myši není akcelerovaná, takže se hýbe jednoduše podle plánu).
Ale jde posílat i jakékoli jiné znaky, které na normální klávesnici nejsou, nebo jsou jako "mediální", "herní" a jiné podivnosti.

Výhoda je cena a že si to člověk může udělat jak chce, nevýhoda je, že si to člověk musí udělat jak chce. Ale princip je to velmi jednoduchý.
[Klikimouse5-small.png]

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.

Zde jsem udelal jeden screenshot:

[img]https://i.ibb.co/S02VsBv/Screenshot-115.png[/img]

Dejme tomu, mám upnutý nástroj, upnutý materiál a potřebuji ještě něco upravit v programu. Když zmáčknu například šipku doprava, tak mi pojede osa X taktéž doprava. Když nedejbože budu mít nastavenou rychlost na 100% v ručním posuvu, tak než se vzpamatuju, tak mám zlomený nástroj a to fakt nechceš :D Právě proto se používá pendant pro ruční nastavení os na cnc. (Najetí na střed materiálu, nastavení probe z,...). Nakonec jsem to zkrouhnul na 9 kláves, které potřebuji namapovat. Koupil jsem bezdrátovou numerickou klávesnici, a za chvilku to půjdu do garáže vyzkoušet. Každopádně je to polovičaté řešení. Nejspíš nemá smysl vymýšlet něco, co už vymyšlené je. Kouknu na bazar, jestli někdo neprodává nějaký USB pendant a budu mít jistotu. Ještě možná zkusím objednat z alika nějaký ten macropad, kde by to mělo jít taktéž namapovat. A nebo použít ESP přes serial. Ale popravdě jsem rád, že se tu pár lidí vyjádřilo a nepřipadal jim můj dotaz jako naprostá KO*OTINA :D

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