Page 1 of 1

2 klávesnice pro word

Posted: 25 Apr 2013, 14:15
by wek
umožňuje aplikace použití 2 různých klávesnic např. ve wordu?
jedna USB klávesnice je polská(ruská, čínská..) a druhá česká.
Potřebuji, aby před odesláním znaku program přepnul panel jazyků podle právě použité klávesnice (a uživatel nemusel přepínat manuálně myší).

Re: 2 klávesnice pro word

Posted: 26 Apr 2013, 07:32
by admin
Musel byste na kazdou klavesu napsat makro a rozlozeni nejak prepinat activeX scriptem.
Pokud to skriptem prepinat lze, tak teoreticky, mozna. Ale bylo by to dost komplikovane reseni.

Re: 2 klávesnice pro word

Posted: 26 Apr 2013, 11:14
by wek
stačí jedno "makro" na jednu klávesnici.

nejprve je nutné ve windows nastavit, jakou klávesovou zkratkou se přepíná klávesnice
W7: ovládací panely -> Oblast a jazyk -> Klávesnice a jazyky -> změnit klávesnice -> upřesnit nastavení kláves -> povolit kombinaci kláves

(tady se nastaví např ctrl + 0 pro anglickou klávesnici a ctrl + 1 pro českou )

princip programu je jednoduchý:
1.zachytí se znak
2.identifikuje se klávesnice
3. podle klávesnice se před znakem odešle kombinace kláves pro danou klávesnici
(tedy v případě zmáčknutí klávesy apostrofu na anglické klávesnici se pošle:
ctrl + 0 + zachycený znak pro apostrof)

Jediné nutné nastavení programu je určit(vybrat), zda klávesnice USB1 je česká a USB2 anglická
(tedy zda po stisknutí USB1 se odešle ctrl + 0 + znak a po stisknutí USB2 se odešle ctrl + 1 + znak )

o vlastní mapování znaků se stará windows.

Re: 2 klávesnice pro word

Posted: 27 Apr 2013, 13:03
by wek
Můžete takto jednoduše vaši aplikaci upravit?
(případně vytvořit zjednodušenou verzi, kterou by využili překladatelé a všichni další, kteří musí používat více národních klávesnic?).

Re: 2 klávesnice pro word

Posted: 29 Apr 2013, 07:25
by admin
Muzete vyzkouset, ze to takto opravdu bude fungovat?
Nadefinujte si makro na jednu klavesu (nejakou ktera se lisi na narodni klavesnici) a v definici makra poslete kombinaci klaves na prehozeni klavesnice + ten jeden znak. Pokud vam to bude fungovat pro obe klavesnice jak ma, upravim program aby umoznoval definici makra pro celou klavesnici s parametrem prave stisknute klavesy.

Re: 2 klávesnice pro word

Posted: 30 Apr 2013, 09:21
by wek
zkoušel jsem to a opravdu vše funguje (Win 8, 64bit).
Jediný problém je, že se mi nepodařilo nastavit aby HID macros posílal sekvenci znaku jako postupný stisk dvou kláves,
tedy např. po nadefinování klávesy (51)š by měl poslat jako první kombinaci kláves ctrl0 a jako druhý znak (51)š
po stisku š na druhé klávesnici pak by měl poslat jako první znak ctrl1 a jako druhý znak (51)3

V současném nastavení se po dvojitém stisku (51)š správně ukáže znak š, nebo 3 podle toho, z jaké klávesnice byl zadán (při prvním stisku se přepne klávesnice a při druhém zadá znak).

Aby byl program dokonalý, mohl by brát info o klávesových zkratkách panelu jazyků, které vyvolají změnu rozložení klávesnice, z registru.
Zkratek jich povoleno pouze 13 a jsou uloženy v
HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys

tj. uživatel by pouze nastavil, že keyboard 1 je např. 5. zkratka v pořadí (ctrl+1) a keyboard 2 je např. 6.zkratka (ctrl+2)

díky
wek(zavináč)seznam.cz

Re: 2 klávesnice pro word

Posted: 02 May 2013, 08:46
by admin
Pokud tomu dobre rozumim, tak pri prvnim stisku se jen prepne klavesnice a nasledny znak se ztrati? Nebo se objevi znak podle "stareho" rozlozeni klavesnice?

Re: 2 klávesnice pro word

Posted: 03 May 2013, 07:05
by wek
ano, při prvním stisku se pouze přepne klávesnice, při druhém se zobrazí znak.