Leo Cardinaals's Weblog

april 21, 2008

Multimediatoetsenbord onder Ubuntu

Ingedeeld onder: Ubuntu — Leo @ 11:00 pm
Tags: , , , , ,

Multimediatoetsenborden van bijvoorbeeld Acer, Cherry, Dell, Genius, Logitech, Microsoft of Trust hebben extra functietoetsen waarvan onder (K)Ubuntu maar de helft of helemaal geen toetsen functioneren. Toch krijg je deze toetsen met geringe inspanning werkend. Er zijn 2 belangrijke pakketten die dit voor je kunnen regelen: keytouch en LinEAK. Ik heb voor keyTouch gekozen. Simple vanwege het feit dat deze het beste werkt onder de Linux kernel versie 2.6 en omdat deze de F-Lock kan “uitschakelen”.

Keytouch kent 2 hoofdprogramma’s:

  • keyTouch, waarmee je een toetsenbord kiest en eventueel nog aanpast. Keytouch heeft al ongeveer 90 voorgedefineerde toetsenborden.
  • keyTouch-editor, waarmee je je eigen toetsenbord kunt definieren.

1. Keytouch downloaden

Keytouch zit bij (K)Ubuntu in de repository (Synaptic onder Ubuntu of Adept onder Kubuntu), maar als je een nieuwste versie wilt hebben, dan moet je deze downloaden van Sourceforge. Dit is aan te raden, omdat in deze versie 32 extra toetsenborden voorgedefinieerd zijn.

  1. Open Firefox (of een andere webbrowser) en ga naar Sourceforge.
  2. Download keyTouch versie 2.3.2 en keyTouch-editor versie 3.1.2. Deze hebben een debian pakket. Let op waar deze pakketten opgeslagen worden. Dit kun je bij Firefox onderin het download venster zien.

2. Keytouch installeren

  1. Ga naar Locaties –> ‘Persoonlijke map’ en ga naar de plaats waar je de pakketten hebt opgeslagen.
  2. Dubbelklik met de linker muisknop op het keytouch_2.3.2-0ubuntu1_i386.deb pakket.
  3. Accepteer de melding ‘Een oudere versie is beschikbaar in een softwarekanaal’ door het venster te sluiten.
  4. Klik nu op de ‘Pakket installeren’ button.
  5. Herhaal stappen 2. t/m 4. voor het keytouch-editor_3.1.2-0ubuntu1_i386.deb pakket.

3. Toetsenbord definieren

Als je een USB toetsenbord hebt, kun je deze het beste via de PS/2 connector aansluiten (gebruik eventueel een USB naar PS/2 verloopstekker). Sommige extra functietoetsen werken niet onder USB. Dit ligt niet aan keyTouch, maar aan de 2.6 Linux kernel input USB-driver.

  1. Ga naar Systeem –> Beheer –> ‘KeyTouch Editor’.
  2. In het ‘Selecteer toetsenbord’ venster kies ‘AT Translated Set 2 keyboard’ op Bus PS/2 en klik op de OK button.
  3. Als het venster ‘Druk op de toets’ verschijnt, druk dan op een van de extra multimediafunctietoetsen op je toetsenbord.
  4. Ga in het keyTouch-editor naar Bestand –> Openen.
  5. In het Open venster klik op de verticale button naast de Home button in de werkbalk.
  6. Selecteer in het rechter subvenster vervolgens usr, share, keytouch en als laatste keyboards.
  7. Kies nu je toetsenbord of een toetsenbord wat je eigen toetsenbord benaderd en klik op de OK button. Geen toetsenbord kiezen mag ook. Klik dan op de Annuleren button.

3.1. Je hebt je eigen toetsenbord gevonden in de lijst

Indien je je toetsenbord gevonden hebt in de lijst, kun je naar punt ‘4. Toetsenbord kiezen’ gaan.

3.2. Je hebt een soortgelijk toestsenbord gevonden in de lijst

Indien je je eigen toetsenbord niet hebt gevonden hebt, maar wel een soortgelijke, wijzig dan de naam van de fabrikant, het model en controleer of alle extra functietoetsen gedefinieerd zijn. Het kan zijn dat je functietoetsen moet verwijderen en/of moet definieren.
Ga dan naar punt ‘3.4. Het definieren van de extra functietoetsen’.

3.3. Je hebt geen toetsenbord geselecteerd uit de lijst

Als je geen toetsenbord gevonden hebt, dan moeten we alle functietoetsen gaan definieren. Ga verder bij punt ‘3.4. Het definieren van de extra functietoetsen’.

3.4. Het definieren van de extra functietoetsen

Voordat we de extra functietoetsen gaan definieren is het volgende belangrijk om te weten:

  • Verplichte velden zijn naam, scancode en keycode. Als deze niet zijn ingevuld kun je deze toetsenborddefinitie niet gebruiken!
  • De scancode moet een code hebben ongelijk aan 129, omdat deze de extra functiecode specificeert. Herhaal het wijzigen als de scancode 129 is.
  • De keycode moet zoveel mogelijk lijken op de functie van de functietoets en moet uniek zijn in de definitie van het toetsenbord.
  • De standaardinstelling mag leeg zijn. Deze kunnen we onder punt 4. alsnog instellen. Sterker nog, dat moeten we zelfs doen als we ‘Music Player’ of ‘F-keys’ als plugin voor speciale actie in keyTouch willen kiezen. De Music Player plugin bedient de volgende spelers: Amarok, Audacious, Music Player Daemon, Rhythmbox en XMMS.
    Als je een andere muziekspeler hebt, dan kun je ook ReMoot gebruiken. Download ReMoot van deze pagina en kies remoot.deb. ReMoot is afhankelijk van perl-tk. Voordat je ReMoot gaat installeren, installeer dus eerst het pakket perl-tk met behulp van Systeem –> Beheer –> ‘Synaptic pakketbeheer’ (voor Ubuntu of Adept voor Kubuntu). Installeer vervolgens het remoot.deb pakket door in een terminalvenster het voldende commando sudo dpkg -i remoot.deb uit te voeren. Zowel in keytouch-editor als keytouch kun je bij programma nu vullen: remoot <actie>, waarbij <actie> staat voor play, pause, playpause (toggelt tussen play en pauze), stop, next (volgende track), prev (vorige track), voldown (volume lager), volup (volume hoger) en mute.
    ReMoot ondersteunt de volgende spelers:
    amarok, aqualung, audacious, banshee, bmp, exaile, gmusicbrowser, juk, kaffeine, kmplayer, kscd, listen, moc, mpd, mplayer, noatun, pytone, quark, quodlibet, rhythmbox, smplayer, totem, vlc, xine, xmms en xmms2.
  • F-keys simuleert de functietoetsen F1 tot en met F12 en kan gebruikt worden voor F-Lock toets. Als je deze F-keys toekent aan de functietoetsen als de F-Lock uit staat, dan fungeren deze alsof F-Lock aan staat.

Het definieren van nieuwe extra functietoetsen doen we als volgt:

  1. In het keyTouch-editor venster klik op de Nieuw button.
  2. Druk op de te definieren extra functietoets.
  3. Geef de toets een naam.
  4. Indien de ‘Keycode:’ niet automatisch wordt ingevuld, kies dan een keycode die nog niet gebruikt is en het best bij de functie van de toets past.

Het wijzigen van extra functietoetsen:

  1. In het keyTouch-editor venster selecteer in het Toetsen subvenster de te wijzigen functietoets.
  2. Klik op de Wijzig button.
  3. Druk op de te definieren extra functietoets.

Het verwijderen van een extra functietoets:

  1. In het keyTouch-editor venster selecteer in het Toetsen subvenster de te verwijderen functietoets.
  2. Klik op de Verwijderen button.

De toetsenborddefinitie moet nu nog alleen worden opgeslagen:

  1. Ga in het keyTouch-editor venster naar Bestand –> ‘Opslaan als’.
  2. In het Opslaan venster klik op de verticale button naast de Home button in de werkbalk (onder ‘Bladeren naar andere mappen).
  3. Selecteer in het rechter subvenster vervolgens usr, share, keytouch en als laatste keyboards.
  4. Vul bij naam een naam voor je toetsenborddefinitie in, met als formaat modelnaam.fabrikantnaam en klik op de Opslaan button.

4. Toetsenbord kiezen

  1. Ga naar Systeem –> Beheer –> KeyTouch
  2. Accepteer de melding ‘Er is geen toetsenbord opgegeven. Selecteer uw toetsenbord model’ door op de Sluiten button te klikken.
  3. Vul je root wachtwoord in en klik op de OK button.
  4. Selecteer je toetsenbord onder ‘Available keyboards’ en klik op de OK button. Het keyTouch programma wordt geopend.
  5. Ga naar het tabblad Toetsinstellingen. In het linker subvenster ‘Toetsen:’ zie je de gedefinieerde functietoetsen en het rechter subvenster ‘Toetsinstellingen:’ de definitie van de toets. Loop nu alle toetsen na. Toetsen die geen ‘Standaardinstelling:’ hebben moeten we gaan definieren.
    Voor play/pause, play, stop, vorige track en volgende track (of hoe ze dan ook genoemd zijn) kunnen we de ‘Music player’ plugin met bijbehorende functie voor de toets kiezen of het remoot programma bij ‘programma:’ in vullen (zie punt 3.4.). Als je een toetsenbord met een F-Lock toets hebt, kun je voor de functietoetsen F1 tot en met F12 de plugin F-keys met de bijbehorende functie voor de toets kiezen. Zie de twee screenshots.
  6. Ga naar het tabblad Voorkeuren. Kies als ‘Mixerkanaal:’ PCM.
  7. Klik op de OK button om het keyTouch venster te sluiten.

5. Keytouch automatisch starten na booten

Per default wordt keyTouch na het booten als root gestart en alles wordt dus door root gedaan. Ook onder onze login. Dit willen we niet. We willen graag dat keyTouch alles met ons eigen account uitvoert.
Om dit te veranderen moeten we het volgende doen:

  1. Voer de volgende commando’s in een terminalvenster uit:

    sudo mkdir /etc/X11/Xsession.d/backup
    sudo mv /etc/X11/Xsession.d/92keytouchd_launch /etc/X11/Xsession.d/backup
    ln -s /usr/bin/keytouchd $HOME/.keytouch2/keytouchd

    Het laatste commando (ln) linkt keytouchd naar je eigen gebuikersnaam met rechten behorende bij je eigen gebruikersnaam. Let wel op dat je dit laatste command niet uitvoert met sudo.

  2. Ga nu naar Systeem –> Voorkeuren –> Sessies.
  3. In het Sessies venster klik op de Toevoegen button. Vul bij ‘Naam:’ keytouchd in, bij ‘Opdracht:’ $HOME/.keytouch2/keytouchd, bij ‘Opmerkingen:’ ‘keytouch daemon’ en klik op de OK button.

Keytouchd is een daemon programma wat op de achtergrond luistert of op een functietoets wordt gedrukt. Keytouchd luistert alleen naar de functietoetsen die nog niet door een ander programma worden afgevangen. Een programma wat dat doet is bijvoorbeeld het sneltoetsen programma. We moeten er dus voor zorgen dat keyTouch het enige programma is wat de extra functietoetsen afvangt.

  1. Ga naar Systeem –> Voorkeuren –> Sneltoetsen (of in Kubuntu onder Controle Center).
  2. In het Sneltoetsen venster selecteer de toetsen die ook in KeyTouch in je gekozen toetsenbord zijn gedefinieerd en druk op de Backspace toets op je toetsenbord. De sneltoets wordt dan uitgeschakeld. Doe dit per sneltoets.

Zo, hopelijk helpt dit artikel je op weg om de extra multimediafunctietoetsen van je multimediatoetsenbord aan de praat te krijgen. Reboot je systeem en geniet van je multimediatoetsenbord.

2 Reacties »

  1. Hallo,

    Allereerst complimenten voor je blog, ik heb er al veel informatie gevonden.

    Voor de installatie van Keytouch werkten al een heleboel speciale toetsen op mijn toetsenbord via ’sneltoetsen’. Na de installatie van keytouch kan ik sommige toetsen die voorheen niet werkten nu wel toewijzen bij ’sneltoetsen’ dus Keytouch werkt, maar:

    Bij de 3 commando’s die ik in terminal uit moet voeren loop ik vast met de 2e, de melding die ik krijg:

    mv: kan status van `/etc/X11/Xsession.d/92keytouchd_launch’ niet opvragen: Bestand of map bestaat niet

    En het 3e commando kan dus ook niet uitgevoerd worden. Misschien dat dit de oorzaak is van enkele probleempjes.
    Mijn toetsenbord gevonden in de lijst en alhoewel niet alles perfect werkt kan ik via sneltoetsen van Ubuntu bijna alle standaard toetsen toewijzen aan acties die daar al in staan.
    Aangepaste acties in keytouch werken echter niet (vb. Pidgin op Messenger knop). Ik vermoed dat dit komt omdat keytouch als root gestart wordt en ik dit niet gewijzigd krijg. Usermanual van keytouch gevolgd vwb voorkeuren.
    Alvast bedankt voor je reactie

    Jan

    Comment door Jan — januari 9, 2009 @ 9:21 pm | Beantwoord

  2. @Jan, ik zie dat er een nieuwe versie 2.4.1 van keyTouch is. Het Xsession script wordt niet meer geïnstalleerd, omdat keytouch-acpid geen X client meer is.
    Ik verhuisde dit bestand nl naar een backup folder omdat we deze niet nodig hebben. Dit 2de commando kan je dus veilig negeren.
    Het 3de commando kan je apart kopiëren en plakken in een terminalvenster om dit uit te voeren.
    Als het goed is moet alles dan werken.Voor deze versie wordt
    De opmerking betreffende root klopt. Hiervoor is het 3de commando.

    PS. Ik weet niet welke versie je geïnstalleerd hebt, maar versie keytouch 2.3.2 is nog steeds hier te verkrijgen: http://keytouch.sourceforge.net/dl-keytouch.php en keytouch-editor 3.1.2 hier: http://keytouch.sourceforge.net/dl-keytouch-editor.php. Deze zijn ook .deb bestanden, terwijl 2.4.1 een tar.gz bestand is wat je handmatig moet installeren. Persoonlijk geef ik de voorkeur aan een .deb omdat deze de regels van Ubuntu volgt. Het wordt nl. in Synaptic opgenomen, zodat je keyTouch weer gemakkelijk kan verwijderen. tar.gz kan echter geen kwaad.

    Ik zal mijn artikel hierop aanpassen. Dank voor de terugkoppeling.

    Comment door Leo — januari 9, 2009 @ 11:15 pm | Beantwoord


RSS feed voor reacties op dit bericht. TrackBack URI

Plaats een reactie

Blog op Wordpress.com.