
Průzkum zájmu o program, co ztrojnásobí funkčnost klávesnice
Re: Průzkum zájmu o program, co ztrojnásobí funkčnost kláves
A to máš dnes dobré že ti na to stačí jen dvojhmat Alt+Shift, v MS-DOSu se musel používat trojhmat Ctrl+Alt+F1 pro US a Ctrl+Alt+F2 pro CZ 

"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Průzkum zájmu o program, co ztrojnásobí funkčnost kláves
Ano, jsem na tom také tak, že neustále přepínám mezi českou a anglickou klávesnicí. Navíc mám na klávesnici jen anglické popisky, sice znám zpaměti dost z české klávesnice, ale už se také chystám, že si v budoucnu vystačím většinou pouze s anglickou, případně si chybějící české věci naházím do anglické. Není zcela pravda, že jsou všechny české znaky dostupné na české klávesnici na jeden stisk, co třeba ó, ď, ť, ... ? Přihodím nějaké myšlenky, co mě napadají, když si rozvrhuji a sumíruji, co do programu budu (postupně) chtít, už jsem některé mohl napsat do 1. příspěvku, ale byl i tak dlouhý a nechtěl jsem, aby vás to odradilo od čtení nebo aby jste se v tom zcela utopili ...
Dlouhé a dvojité stisky i na tlačítkách myši, tedy kromě levého, kde je krátký, dlouhý a dvojitý stisk již využíván. Možná zvládnu i speciální (zpět, vpřed, ...), záleží co vše bude zachytitelné pod API - totéž platí pro multimediální a speciální (například Gx) na herních klávesnicích - na myši vidím využití například po dlouhém stisku kolečka nebo pravého myšítka na změnu roviny kolečka, dokument (stránka, ...) by se neposouval nahoru / dolu, ale vlevo / vpravo (super třeba pro Excel). Další by mohlo být (pro tlačítko myši) třeba ukončení aktivního programu nebo aktuální záložky (v internetovém prohlížeči, Průzkumníku, ...), nějaké menu pro výběr z více možností (to bylo obvyklé u myší Genius myslím z bočního tlačítka), ...
Chtěl bych (volitelnou) možnost pro shiftovací (myšleno pro jakoukoliv shiftovou klávesu: Shift, Ctrl, Alt, Alt Gr, Caps Shift, ...) klávesy, kdy postačí stisknout shiftovací klávesu a poté ji pustit, až poté by stačilo stisknout znakovou klávesu - potom by shift mód skončil (krátké stisknutí shiftu) nebo stále trval (dlouhé stisknutí shiftu) - taková možnost již ve Win existuje, v sekci usnadnění, ale jako obvykle je to od MS takové podivné ... Pro tuto možnost zřejmě půjde i odlišit klasické podržení shiftu a až poté (za stálého držení shiftu!) stisknout znakovou klávesu - mohlo by se to použít pro další možnosti. Když se vrátím na začátek tohoto odstavce, krátký stisk Shiftu půjde použít pro klasický mód Shiftu (velká písmena, ...), dlouhý stisk Shiftu pro nynější mód Caps Lock. Poznámka nejen k tomuto odstavci: Shift = klávesa Shift * shift = jakýkoliv shift (Shift, Ctrl, Alt, ...).
Bude (volitelně) dostupno více shift módu, sice ani dnes není naplno využíván mód Alt či Ctrl (nicméně je to i rezerva pro klávesové zkratky například), ale budete si moci na klávesy namapovat jakýkoliv znak, stisknete klávesu pro funkci Znak / Char (či dlouze pro Znaky / Chars), dále stisknete klávesu, kam znak budete chtít namapovat a z otevřené tabulky znaků si znak vyberete. Budete si tedy moci mapovat různé symboly, matematické znaky, znaky z jiných jazyků, atd. Volitelná bude i možnost různých funkcí pro levé / pravé shifty (Shift, Ctrl, Win, ...). Napadají mě módy Extended (existoval na ZX Spectru), Symbol (Sam Coupé - šlo by využívat příhodně pro mapování symbolů, například matematických a jiných), Macro (různé posloupnosti znaků, třeba častá slova, automatizace činností, ...), Shift², Ctrl², Alt², Win² (současné stisknutí pravého i levého shiftu x), ... (poznámka: některé klávesnice nemají 2x Win).
Bude klávesa pro funkci: Přesun / Move (prohození 2 kláves). Stisknete klávesu Přesun poté: 1. klávesu, 2. klávesu a hotovo, funkce obou se prohodí, i kdyby vás napadlo prohodit třeba Alt s klávesou k. Dále funkce Zamknout / Lock. Stisknete Zamknout, pak klávesu. Pak už klávesa bude bez jakékoli funkce, dokud znovu nestisknete Zamknout a tuto klávesu. Funkce Výběr / Select otevře se tabulka se znaky pro výběr a zobrazení (nebude se muset spouštět Mapa znaků + chci větší tabulku). Klávesa s funkcí Ulož / Save (profil = celkové nastavení programu, kláves) i Ulož jako ... / Save as ... (profil), standardně do složky programu (možnost změny) a jménem: Key³ profile rrrr.mm.dd hh-mm-ss (rrrr = rok * mm = měsíc * dd = den * hh = hodin * mm = minut * ss = sekund), datum a čas do jména souboru přidán vždy a zcela automaticky pro lepší přehled, jméno bude možno změnit. Obdobná funkce Načíst / Load (profil), ideálně s možností výběru nahrání na 2. (rychlou) klávesu, například Načíst možnost (variantu): a, b, c, d, e, ...
Miniaturní lištu k hraně (schovávatelnou za hranu) s menu (například i s funkcemi: Znak(y), Přesun, Zamknout, Ulož (jako ...), ... + diagnostikou, například zapnutích shiftů (na své klávesnici nemáte například diody pro: Extended, Symbol, ...). Lišta by pro vysunutí měla zabrat jen část hrany, takže by ani neměla být v kolizi s jinou lištou u stejné hrany. Velmi potřebné se mi jeví možnost zobrazení klávesnice / myši s funkcemi a znaky, které budou namapovány (nejspíš výběr z několika typů klávesnic, nevím o možnosti jak softwarově zjistit rozložení klávesnice (různou podobu kláves)) + možnost vytištění, jinak hrozí zmatek
Zajímavé se mi jeví další rozšíření možností klávesnice, pojmenoval jsem si první jako Mix. Tedy zobrazení znaku 1 na obrazovce, poté "návrat vozíku zpět" a zobrazení znaku 2 znovu do stejného místa, s tím, že by nedošlo k vymazání 1. znaku, ale k jeho "mixu" (smíchání) s 2. znakem ("inkoust" obou by se zobrazil). Trochu jsem s tím experimentoval již před pár měsíci, používá se to třeba na české klávesnici, když zmáčknete klávesu před Backspace (Smaž), tedy čárka: ´ a pak stisknete například o, vznikne: ó. Totéž je u háčku: Shift + ˇ. Dále máte na české klávesnici podobné možnosti s Alt Gr + horní číselnou řadou (pod Fn), ale "mix" vznikne jen když je možnost obsažena v písmu (fontu): ~ˇ^˘°˛`˙´˝¨¸. Znak návrat vozíku je ve fontu obsažen (řídící kód < 32, přesněji: 13). Jediného čeho jsem ale dosáhl je zobrazení znaku 1, jeho smazání po 13 a zobrazení znaku 2. Řekl bych, že na české klávesnici je to ošetřeno asi programově, jednoduše znak + 13 + znak nejspíš nejde. Což je někdy docela k vzteku, třeba u takového znaku jako podtržítko, které je přímo "mixovací"
Ale využití by to mělo určitě ve více případech. Pokusím se tedy později zvládnout i tuto fičuru (zachytit znak, namíchat s druhým a vypustit tuto směsku, a to u všech znaků co existují). Podobná funkce je Přes / Over (něco takového existuje na ZX Spectru, jestli mě paměť neklame). Je to stejné, jako u Mixu, s tím rozdílem, že inkoust prvního znaku by se vygumoval, pokud by šel přes něj inkoust 2. znaku - pro představu, pokud by by byl první znak E a druhý F a opravdu leží na sobě a jsou stejně velké, vznikne po funkci Přes / Over toto: _ (= dolní).
Dlouhé a dvojité stisky i na tlačítkách myši, tedy kromě levého, kde je krátký, dlouhý a dvojitý stisk již využíván. Možná zvládnu i speciální (zpět, vpřed, ...), záleží co vše bude zachytitelné pod API - totéž platí pro multimediální a speciální (například Gx) na herních klávesnicích - na myši vidím využití například po dlouhém stisku kolečka nebo pravého myšítka na změnu roviny kolečka, dokument (stránka, ...) by se neposouval nahoru / dolu, ale vlevo / vpravo (super třeba pro Excel). Další by mohlo být (pro tlačítko myši) třeba ukončení aktivního programu nebo aktuální záložky (v internetovém prohlížeči, Průzkumníku, ...), nějaké menu pro výběr z více možností (to bylo obvyklé u myší Genius myslím z bočního tlačítka), ...
Chtěl bych (volitelnou) možnost pro shiftovací (myšleno pro jakoukoliv shiftovou klávesu: Shift, Ctrl, Alt, Alt Gr, Caps Shift, ...) klávesy, kdy postačí stisknout shiftovací klávesu a poté ji pustit, až poté by stačilo stisknout znakovou klávesu - potom by shift mód skončil (krátké stisknutí shiftu) nebo stále trval (dlouhé stisknutí shiftu) - taková možnost již ve Win existuje, v sekci usnadnění, ale jako obvykle je to od MS takové podivné ... Pro tuto možnost zřejmě půjde i odlišit klasické podržení shiftu a až poté (za stálého držení shiftu!) stisknout znakovou klávesu - mohlo by se to použít pro další možnosti. Když se vrátím na začátek tohoto odstavce, krátký stisk Shiftu půjde použít pro klasický mód Shiftu (velká písmena, ...), dlouhý stisk Shiftu pro nynější mód Caps Lock. Poznámka nejen k tomuto odstavci: Shift = klávesa Shift * shift = jakýkoliv shift (Shift, Ctrl, Alt, ...).
Bude (volitelně) dostupno více shift módu, sice ani dnes není naplno využíván mód Alt či Ctrl (nicméně je to i rezerva pro klávesové zkratky například), ale budete si moci na klávesy namapovat jakýkoliv znak, stisknete klávesu pro funkci Znak / Char (či dlouze pro Znaky / Chars), dále stisknete klávesu, kam znak budete chtít namapovat a z otevřené tabulky znaků si znak vyberete. Budete si tedy moci mapovat různé symboly, matematické znaky, znaky z jiných jazyků, atd. Volitelná bude i možnost různých funkcí pro levé / pravé shifty (Shift, Ctrl, Win, ...). Napadají mě módy Extended (existoval na ZX Spectru), Symbol (Sam Coupé - šlo by využívat příhodně pro mapování symbolů, například matematických a jiných), Macro (různé posloupnosti znaků, třeba častá slova, automatizace činností, ...), Shift², Ctrl², Alt², Win² (současné stisknutí pravého i levého shiftu x), ... (poznámka: některé klávesnice nemají 2x Win).
Bude klávesa pro funkci: Přesun / Move (prohození 2 kláves). Stisknete klávesu Přesun poté: 1. klávesu, 2. klávesu a hotovo, funkce obou se prohodí, i kdyby vás napadlo prohodit třeba Alt s klávesou k. Dále funkce Zamknout / Lock. Stisknete Zamknout, pak klávesu. Pak už klávesa bude bez jakékoli funkce, dokud znovu nestisknete Zamknout a tuto klávesu. Funkce Výběr / Select otevře se tabulka se znaky pro výběr a zobrazení (nebude se muset spouštět Mapa znaků + chci větší tabulku). Klávesa s funkcí Ulož / Save (profil = celkové nastavení programu, kláves) i Ulož jako ... / Save as ... (profil), standardně do složky programu (možnost změny) a jménem: Key³ profile rrrr.mm.dd hh-mm-ss (rrrr = rok * mm = měsíc * dd = den * hh = hodin * mm = minut * ss = sekund), datum a čas do jména souboru přidán vždy a zcela automaticky pro lepší přehled, jméno bude možno změnit. Obdobná funkce Načíst / Load (profil), ideálně s možností výběru nahrání na 2. (rychlou) klávesu, například Načíst možnost (variantu): a, b, c, d, e, ...
Miniaturní lištu k hraně (schovávatelnou za hranu) s menu (například i s funkcemi: Znak(y), Přesun, Zamknout, Ulož (jako ...), ... + diagnostikou, například zapnutích shiftů (na své klávesnici nemáte například diody pro: Extended, Symbol, ...). Lišta by pro vysunutí měla zabrat jen část hrany, takže by ani neměla být v kolizi s jinou lištou u stejné hrany. Velmi potřebné se mi jeví možnost zobrazení klávesnice / myši s funkcemi a znaky, které budou namapovány (nejspíš výběr z několika typů klávesnic, nevím o možnosti jak softwarově zjistit rozložení klávesnice (různou podobu kláves)) + možnost vytištění, jinak hrozí zmatek

Zajímavé se mi jeví další rozšíření možností klávesnice, pojmenoval jsem si první jako Mix. Tedy zobrazení znaku 1 na obrazovce, poté "návrat vozíku zpět" a zobrazení znaku 2 znovu do stejného místa, s tím, že by nedošlo k vymazání 1. znaku, ale k jeho "mixu" (smíchání) s 2. znakem ("inkoust" obou by se zobrazil). Trochu jsem s tím experimentoval již před pár měsíci, používá se to třeba na české klávesnici, když zmáčknete klávesu před Backspace (Smaž), tedy čárka: ´ a pak stisknete například o, vznikne: ó. Totéž je u háčku: Shift + ˇ. Dále máte na české klávesnici podobné možnosti s Alt Gr + horní číselnou řadou (pod Fn), ale "mix" vznikne jen když je možnost obsažena v písmu (fontu): ~ˇ^˘°˛`˙´˝¨¸. Znak návrat vozíku je ve fontu obsažen (řídící kód < 32, přesněji: 13). Jediného čeho jsem ale dosáhl je zobrazení znaku 1, jeho smazání po 13 a zobrazení znaku 2. Řekl bych, že na české klávesnici je to ošetřeno asi programově, jednoduše znak + 13 + znak nejspíš nejde. Což je někdy docela k vzteku, třeba u takového znaku jako podtržítko, které je přímo "mixovací"

- domitea
- Tvůrce článků
-
Level 4.5
- Příspěvky: 1971
- Registrován: červen 09
- Bydliště: Královehradecký kraj
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Průzkum zájmu o program, co ztrojnásobí funkčnost kláves
Tak to je hodně dobré, jen se naučit to pořádně používat 

Re: Průzkum zájmu o program, co ztrojnásobí funkčnost kláves
X píše:Zajímavé se mi jeví další rozšíření možností klávesnice, pojmenoval jsem si první jako Mix. Tedy zobrazení znaku 1 na obrazovce, poté "návrat vozíku zpět" a zobrazení znaku 2 znovu do stejného místa, s tím, že by nedošlo k vymazání 1. znaku, ale k jeho "mixu" (smíchání) s 2. znakem ("inkoust" obou by se zobrazil).
Tohle šlo na Spectru, ale u PC to je nemožné. Tady se ti ten přepisovaný znak nahradí. Takhle fungovaly i některé textové editory na osmibitových počítačích, které nádherným způsobem obcházely omezení znakové sady.
Napadají mě dva způsoby jak bys tohle mohl provést. Jeden je dost náročný ale podobný těm osmibitům, prostě bys znaky vykresloval na obrazovku sám jako obrázky, a vrstvil si je podle chuti. V podstatě bys musel naprogramovat něco jako je vykreslovací jádro internetového prohlížeče a donutit systém ho používat...
Jednodušší by bylo přečíst/pamatovat předchozí znak, z nějaké tabulky vyčíst kombinaci s novým, a potom vypsat ten co ti z toho vyšel dohromady.
Akorát 13 není znak pro návrat o jeden znak ale až na začátek řádku, co si vzpomínám tak řídící kódy jsou takhle, aspoň ty co jsem používal:
- 7 - '\a' = BEL, Alarm
- 8 - '\b' = Backspace
- 9 - '\t' = HT, Tab, Horizontal Tabulator
- 10 - '\n' = LF, NL, New Line
- 12 - '\f' = FF, Form Feed
- 13 - '\r' = CR, Carriage Return
Konec řádku (a také Enter) je v Linuxu LF, na Macu CR, a ve Windows CR LF. Šílený bordel, který naštěstí ve většině případů zvládnou ošetřit v/v knihovny.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Průzkum zájmu o program, co ztrojnásobí funkčnost kláves
faraon: Tak je pravda, že jsem si také nebyl jistý s tím řídícím kódem a vyzkoušel jich více, ale opravdu asi na PC (monitoru) bez účinku. Zrovna včera jsem v Mapě znaků narazil na znak: dvojité nadtržítko: ̿ (U+033F, font: Arial Unicode MS) dám vybrat a ono se ani nezobrazilo, ale poté se mi samo namixovalo. Ale asi to bude řízeno programově. S tím mixováním doufám, že bude také ve Win API funkce zachycení znaku před odesláním na obrazovku, potlačil bych odeslání a na nějaké volné pozici znakové sady bych musel smíchat s dalším znakem a teprve potom odeslat na obrazovku. Ale jestli se mi tohle podaří, tak to bude opravdu později.
Z počátku se zaměřím na české a slovenské znaky (uživatelé si nicméně můžou namapovat znaky na jakoukoli jazykovou klávesnici svépomoci pomocí funkce: Znak(y) / Char(s)), později snad komplet slovanské (polské, ruské, ...). Mimochodem, zkoušeli jste si někdy zapnout ruskou klávesnici? Pokud znáte azbuku, tak zjistíte, že mají úplně jiné zvyklosti rozmístění písmen, pro nás zcela nepochopitelné a na osypání
Asi si později písmena proházím na nějakou ruskočeskou 
Z počátku se zaměřím na české a slovenské znaky (uživatelé si nicméně můžou namapovat znaky na jakoukoli jazykovou klávesnici svépomoci pomocí funkce: Znak(y) / Char(s)), později snad komplet slovanské (polské, ruské, ...). Mimochodem, zkoušeli jste si někdy zapnout ruskou klávesnici? Pokud znáte azbuku, tak zjistíte, že mají úplně jiné zvyklosti rozmístění písmen, pro nás zcela nepochopitelné a na osypání


Re: Průzkum zájmu o program, co ztrojnásobí funkčnost kláves
Tak po pročtení několik set stránek všeho možného, například: Pure Basic - A Beginners Guide (337 stran - ještě mě čeká: Pure Basic Reference Manual 5 (1321 stran)), C/C++ - Učíme se Win API - motivační úvod (37 lekcí), základy C#, Windows API Index, ... a mnoho dalšího, začínám lehce chápat Win API a tedy také ty části, které budu potřebovat
Pure Basic mě příjemně překvapil svými bitovými funkcemi, u Sam Basicu / Master Basicu je myslím jen BAND (bitové AND) a BOR (bitové OR), Pure Basic má & (bitové AND), | (bitové OR), ! (bitové XOR), ~ (bitové NOT), << (bitový posun doleva), >> (bitový posun doprava) nebo také: * ukazatel (pointer), @ proměnná, ? label (poslední 3 varianty pro operace přímo v paměti). Pure Basic umí dokonce používat C ... CallCFunction() a CallCFunctionFast() a aby toho nebylo málo, tak i strojový kód a to dokonce přímo v sobě, v Pure Basicu ... Inline x86 ASM.
Win API funkce SetWindowsHookEx nastavuje hák (zachycování), inicializuje ho. V mém případě mě bude zajímat především parametr WH_KEYBOARD (hodnota 2) pro spuštění KeyboardProc, parametr WH_KEYBOARD_LL (hodnota 13, LL znamená Low Lewel = nízká úroveň) pro spuštění LowLevelKeyboardProc, parametr WH_MOUSE (hodnota 7) pro spuštění MouseProc, parametr WH_MOUSE_LL (hodnota 14) pro spuštění LowLewelMouseProc. Funkce UnhookWindowsHookEx odstraňuje hák a funkce CallNextHookEx skáče z našeho háku případně na další hák. Samozřejmě se přidávají takové libůstky jako Unicode nebo ANSI kódování, 32bit a 64bit knihovny, navíc i v Pure Basicu se musí případně vybrat, jestli chceme kompilovat 64bit kód a mnohé další. Co si tak čtu komentáře pod WinAPI, tak i přímo na stránkách MS jsou chyby či neúplné ukázky, navíc některé funkce nejsou dobře dokumentovány. Prostě budu mít volné pole k experimentování

Win API funkce SetWindowsHookEx nastavuje hák (zachycování), inicializuje ho. V mém případě mě bude zajímat především parametr WH_KEYBOARD (hodnota 2) pro spuštění KeyboardProc, parametr WH_KEYBOARD_LL (hodnota 13, LL znamená Low Lewel = nízká úroveň) pro spuštění LowLevelKeyboardProc, parametr WH_MOUSE (hodnota 7) pro spuštění MouseProc, parametr WH_MOUSE_LL (hodnota 14) pro spuštění LowLewelMouseProc. Funkce UnhookWindowsHookEx odstraňuje hák a funkce CallNextHookEx skáče z našeho háku případně na další hák. Samozřejmě se přidávají takové libůstky jako Unicode nebo ANSI kódování, 32bit a 64bit knihovny, navíc i v Pure Basicu se musí případně vybrat, jestli chceme kompilovat 64bit kód a mnohé další. Co si tak čtu komentáře pod WinAPI, tak i přímo na stránkách MS jsou chyby či neúplné ukázky, navíc některé funkce nejsou dobře dokumentovány. Prostě budu mít volné pole k experimentování

Re: Průzkum zájmu o program, co ztrojnásobí funkčnost kláves
Koukám že do toho okopírovali všechny užitečné věci z Céčka, akorát místo ^ je !. Ale radši důkladně vyzkoušej ty posuny, jestli se nechovají jako v Javě, tam se totiž u záporných čísel neposouvá znaménko! V C se posouvá všechno.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Excel VBA funkčnost comboboxu aby vypsal určitý řetězec Příloha(y)
od Marines93 » 29 srp 2024 09:02 » v Kancelářské balíky - 2
- 3332
-
od Marines93
Zobrazit poslední příspěvek
09 zář 2024 09:38
-
-
- 4
- 1856
-
od Kminek
Zobrazit poslední příspěvek
09 pro 2024 14:17
-
- 1
- 2035
-
od Alferi
Zobrazit poslední příspěvek
12 čer 2025 08:55
-
- 2
- 1540
-
od zik9
Zobrazit poslední příspěvek
07 čer 2025 12:38
-
- 8
- 2142
-
od HelFix
Zobrazit poslední příspěvek
06 pro 2024 10:23
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů