Liten utmaning - Linuxversion av AllChars

Här diskuteras programmering och utveckling
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Liten utmaning - Linuxversion av AllChars

Inlägg av Johnny Rosenberg »

För en tid sedan skrev jag till en av de andra tavlorna här och undrade om någon visste om det finns en Linuxmotsvarighet till Windowsprogrammet AllChars. Ingen visste något om detta så här kommer istället en förfrågan. Skulle vara kul om någon antog utmaningen att göra en Linuxversion av detta program då det nu blivit Open Source.

Vad programmet gör framgår här.
Källkoden ska man kunna leta upp om man börjar här.

För min egen del är det mest makrodelen som intresserar, men jag antar att många skulle ha nytta av möjligheten att skapa tecken utan att kunna hex-koden för tecknet.

Så om det finns någon kompetent person här som orkar "översätta" programmet till Linux (och gärna svenska också…), eller hur man ska uttrycka sig, så var så god.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: Liten utmaning - Linuxversion av AllChars

Inlägg av Lars »

Beskrivningen är talande :) "AllChars emulates the *nix Compose key on Windows."

Gå till System/Inställningar/Tangentbort. Under fliken layouter finns en knapp som heter layoutalternativ. Gå till "position för compose-tangenten", välj t.ex. "left win-key". Sedan kan man trycka compose+a+e för att få æ.
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: Liten utmaning - Linuxversion av AllChars

Inlägg av Johnny Rosenberg »

Lars skrev:Beskrivningen är talande :) "AllChars emulates the *nix Compose key on Windows."

Gå till System/Inställningar/Tangentbort. Under fliken layouter finns en knapp som heter layoutalternativ. Gå till "position för compose-tangenten", välj t.ex. "left win-key". Sedan kan man trycka compose+a+e för att få æ.
Det är riktigt, bortsett från at vissa tecken saknas då, exempelvis ‰, men själv tänkte jag mer på makrogrejen. I AllChars fungerar den så här, om jag minns rätt (länge sedan man använde Windows nu...):

Gå in i inställningarna. Där är "/" förvalt som starttecken för makrona. Jag brukade använda "<" istället eftersom den sitter bra till och inte kräver Shift.

Därefter går man in i makroläget och skapar ett nytt makro, där man anger makrots namn och vilken text det ska producera.
Exempelvis kanske man vill att texten "<mvhj" ska ersättas med "Med vänlig hälsning\nJohnny Rosenberg". Då skriver man bara "mvhj" i ena kolumnen och "Med vänlig hälsning\nJohnny Rosenberg" i den andra. När man sedan ska ha ut texten i sitt dokument, oavsett program (gEdit, Emacs, OpenOffice.org o.s.v.), skriver man bara "<mvhj" och väntar någon tiondels sekund eller så (tiden kan man ställa in också), så ersätts texten med den långa texten. Även dagens datum och aktuell tid kan man få ut automatiskt i valfritt format. \n och \t fungerar också (ny rad respektive TAB).

Visst, detta kan man göra i många olika program och på olika sätt, men detta fungerar i ALLA program där man kan skriva text. Och på samma sätt i alla program.

Ja, inte vet jag, men jag hade då stor nytta av det i Windows och jag saknar det i Linux.

Har börjat programmera igen, dock inte i det språk som AllChars källkod är skriven i och jag är fortfarande allt för mycket nybörjare efter alla år av programmeringspaus för att kunna göra jobbet själv.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Liten utmaning - Linuxversion av AllChars

Inlägg av Konservburk »

Jag upptäckte just att programmet xvkbd kan skicka långa haranger med text så att det ser ut som att det kommer från tangentbordet:

Kod: Markera allt

xvkbd -text 'hejsan hoppsan'
Du behöver bara binda någon slags tangentkombination till det kommandot så har du i princip ett tangetbordsmakro. Det finns en massa olika sätt att binda tangenter till godtyckliga kommandon, men jag vet inte vad som funkar bäst. Finns säkert något inbyggt i själva gnome. Jag här även hört att xbindkeys kan vara användbart.
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: Liten utmaning - Linuxversion av AllChars

Inlägg av Johnny Rosenberg »

Testade lite men kom inte överrens med det till 100%, men det kanske är en fråga om att lära sig.

Det som verkligen vore idealet för min del är om man tänker sig Autokorrigeringsfunktionen i OpenOffice.org, fast den ska fungera globalt,alltså oberoende av vilket program man för tillfället kör. Plus att åtminstone nyradstecknet ska fungera (fast det gör det nog i OpenOffice.org om jag minns rätt). Det skulle vara användbart till det mesta, alltifrån enkla korrigeringar som exempelvis för att korrigera det ord som jag nästan alltid stavar fel på grund av att vissa fingrar är lite snabbare än de andra: "Ytterligare". När jag skriver det blir det i stort sett ALLTID "yttelrigare". Likaså förkortningar, gärna egna. Sen ser det ju llite läckert ut också när an skriver några få tecken som automatiskt görs om till världens harang... Eller när man ska programmera (använder Emacs). Några få tangentnedtryckningar så har man #include <iostream> och ytterligare några av de rader man i stort sett ändå alltid har med. I och för sig kan man ju låta Emacs göra det, men då måste man väl lära sig Emacs Lisp också, vilket jag i och för sig försöker, men jag är bara i början än. I vissa program kan man ju inte göra sådant heller, så en global funktion för det hela känns ändå bekvämast.

Visst kan man skriva allting i OpenOffice.org writer och konfigurera autokorrigeringsfunktionen till allt man behöver och sedan kopiera texten dit man vil ha den, men är inte det lite onödigt omständligt?

Okej, nog pladder från min sida för tillfället. Återkommer med mer trams.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Liten utmaning - Linuxversion av AllChars

Inlägg av Konservburk »

Jag har fattat vad du är ute efter. Jag upptäckte att xvkbd gör halva jobbet så att säga. Den klarar även av nyrader utan problem:

Kod: Markera allt

xvkbd -text 'hejsan\nhoppsan\n'
Det som återstår är att kunna binda en teckensekvens till ett godtyckligt kommando (i det här fallet xvkbd). Det är mycket möjligt att den biten redan går att ordna med t.ex. xbindkeys eller något liknande. Jag vet inte.

Poängen är att istället för att lägga ner dubbelt så mycket arbete på ett program som gör en enda sak, så kan man lägga ner halva jobbet på något som gör betydligt mer. Att kunna binda en teckensekvens till ett godtyckligt kommando innebär ju många fler möjligheter än bara vanliga textmakron.
Användarvisningsbild
gasol
Inlägg: 405
Blev medlem: 27 jul 2007, 14:57
Kontakt:

Re: Liten utmaning - Linuxversion av AllChars

Inlägg av gasol »

jo, xbindkeys kan binda godtyckliga kommandon till tangenter. Det finns till och med ett gtk (iofs 1.2) program för att göra det grafiskt det heter xbindkeys-config och finns i ett föråd nära dig...
The Black Mountain Scorpion Hoedown Bluegrass Experience Gang
From Left to Right: Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle.
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: Liten utmaning - Linuxversion av AllChars

Inlägg av Johnny Rosenberg »

Konservburk skrev:Jag har fattat vad du är ute efter. Jag upptäckte att xvkbd gör halva jobbet så att säga. Den klarar även av nyrader utan problem:

Kod: Markera allt

xvkbd -text 'hejsan\nhoppsan\n'
Testade att skriva det i en terminal och fick då följande resultat:
guraknugen@rosenberg-01:~$ xvkbd -text 'hejsan\nhoppsan\n'
xvkbd: Mode_switch not available as a modifier
xvkbd: although ISO_Level3_Shift is used instead, AltGr may not work correctly
hejsanhoppsanguraknugen@rosenberg-01:~$ hejsanhoppsan
Vet inte riktigt hur jag ska tolka detta. Och \n verkade ju inte heller ha någon som helst effekt.
Konservburk skrev: Det som återstår är att kunna binda en teckensekvens till ett godtyckligt kommando (i det här fallet xvkbd).
Men vad räknas som ett kommando? Om jag skulle vilja att texten "jäeh" ska ersättas med "jag är en häst" (okej, bara ett exempel, lugn och fin nu) närhelst jag skriver den, exempelvis mitt inne i annan text i gEdit, kommer detta då att räknas som ett kommando som sedan automatiskt raderas och ersätts med den ersättande texten? För helst vill man ju inte nöja sig med AllChars tillvägagångssätt att man måste larva sig med ett extra tecken, jag vill bara att om jag skriver "Visste du att jäeh?" så ska det i den stund jag matar in frågetecknet (i detta fall eftersom meningen råkar vara just en fråga - i de flesta fall torde det dock bli ett mellanslag som "triggar" det hela, antar jag) istället stå "Visste du att jag är en häst?". Jag kommer ihåg att den Emacsinstallation vi hade på vårt datorsystem på högskolan på 80-talet hade denna finess när man spelade MUD... Man lade bara in sin lilla alias-lista i Lisp-koden och sedan var det bara att börja knappa in vad man ville ha utfört. Skrev jag "gac" och ett mellanslag, stod det istället "get all from corpse" och det var bara att trycka Enter för att få kommandot utfört. Smidigt, särskilt med tanke på att det måste gå undan när det gäller ett spel. Innan man hunnit skriva hela harangen så har ju annars någon annan hunnit plocka upp grejerna...
Konservburk skrev:Det är mycket möjligt att den biten redan går att ordna med t.ex. xbindkeys eller något liknande. Jag vet inte.

Poängen är att istället för att lägga ner dubbelt så mycket arbete på ett program som gör en enda sak, så kan man lägga ner halva jobbet på något som gör betydligt mer. Att kunna binda en teckensekvens till ett godtyckligt kommando innebär ju många fler möjligheter än bara vanliga textmakron.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Liten utmaning - Linuxversion av AllChars

Inlägg av Konservburk »

Johnny Rosenberg skrev:Testade att skriva det i en terminal och fick då följande resultat:
guraknugen@rosenberg-01:~$ xvkbd -text 'hejsan\nhoppsan\n'
xvkbd: Mode_switch not available as a modifier
xvkbd: although ISO_Level3_Shift is used instead, AltGr may not work correctly
hejsanhoppsanguraknugen@rosenberg-01:~$ hejsanhoppsan
Vet inte riktigt hur jag ska tolka detta. Och \n verkade ju inte heller ha någon som helst effekt.
Vi verkar inte ha samma version av xvkbd. För mig blir det så här:

Kod: Markera allt

$ xvkbd -text 'hejsan\nhoppsan\n'
hejsan
hoppsan
$ hejsan
bash: hejsan: command not found
$ hoppsan
bash: hoppsan: command not found
$ 
Jag har xvkbd version 2.6 hos mig.
Johnny Rosenberg skrev:Men vad räknas som ett kommando?
Vad som helst som du kan köra från terminalen, t.ex. starta firefox eller liknande. DVS du skriver "firefox" var som helst och väntar någon sekund, sedan försvinner texten firefox och istället startas programmet firefox.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Liten utmaning - Linuxversion av AllChars

Inlägg av Konservburk »

Det här kanske är något för dig?
http://autokey.sourceforge.net/
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: Liten utmaning - Linuxversion av AllChars

Inlägg av Johnny Rosenberg »

Konservburk skrev:
Johnny Rosenberg skrev:Vi verkar inte ha samma version av xvkbd. För mig blir det så här:

Kod: Markera allt

$ xvkbd -text 'hejsan\nhoppsan\n'
hejsan
hoppsan
$ hejsan
bash: hejsan: command not found
$ hoppsan
bash: hoppsan: command not found
$ 
Jag har xvkbd version 2.6 hos mig.
2.8 har jag tydligen.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: Liten utmaning - Linuxversion av AllChars

Inlägg av Johnny Rosenberg »

Konservburk skrev:Det här kanske är något för dig?
http://autokey.sourceforge.net/
Det HADE varit om det inte var för den illa detaljen att jag oftast skriver på svenska. Har laddat ner och installerat samt testat. Så fort jag dunkar in ett "å" så går det åt skogen. Förmodligen samma sak med "äö". Enligt vad jag läst mig till så verkar det som att utf-8 inte stöds. Måste alltså se till att textfilen med förkortningarna bara innehåller ASCII-tecken och att den därmed inte sparas i utf-8-format. Men en bra idé annars.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Skriv svar

Återgå till "Programmering och webbdesign"