Tags Posts tagged with "klawiatura"

klawiatura

przez -
8 2094
Klawiatura

Pisząc na polskiej klawiaturze (polskim układzie) mamy 4 poziomy znaków: małe, duże (+Shift), małe “polskie” (+Alt Gr) i duże “polskie” (+Alt Gr + Shift). Wielu użytkowników Linuksa zapewne zauważyło, że prawy alt można wykorzystać z każdym znakiem i uzyskać można dużo więcej znaków, niż tylko polskie, m.in. Ω, ĸ, ħ, “, º, ², ⅛, ®(kombinacje zarówno z samym Altem, jak i z Shiftem).

Ale co to jest ten Compose Key? Stare klawiatury starych komputerów (nie PC) posiadały klawisza o takiej nazwie, obecne PC-towe klawiatury nie posiadają “sprzętowych” odpowiedników. Klawisz ten służy, jak sama nazwa wskazuje, do komponowania znaków.

Gdzie on jest?

To że nigdzie nie jest napisane Compose Key, nie znaczy że go nie ma. Domyślnie może być ustawiony na Shift + Alt Gr, lecz niestety nie w polskim układzie. Klawisz ten ustawić można w ustawieniach środowiska, przykładowo w KDE:

Ustawienia systemowe → Urządzenia wejściowe → Klawiatura → Zaawansowane → Położenie klawisza Compose

Podobnie w środowisku Cinnamon i innych. Wystarczy poszukać ustawień układu klawiatury. Ja ustawiłem sobie ten klawisz na Caps Lock. Wymagany jest restart X’ów.

Co nam da ten klawisz?

Compose Key otwiera nam całą paletę dodatkowych znaków ukrytych nie pod trudnymi do zapamiętania unikodami, tylko intuicyjnymi skrótami!

Przykładowo:

  • <Compose>+<o>+<r>/<c> = ® / ©
  • Strzałki: ←, ↓, →, ↑ (<compose> + 2*strzałka)
  • Ułamki: ½, ¾, ⅘ (<compose> + 2 liczby, nie ma ułamków skracalnych np. 2/4)
  • Znak funta – Przekreślone L: <Compose> + <L> + <-> (lub na odwrót): £
  • Euro – to znak C, lub E ze znakiem = pośrodku, więc <Compose> + <e> (lub <c>) + <=> (lub na odwrót): €
  • Emotikony również się znajdą: ☺ (<Compose> + <:> + <)>)
  • Spróbuj znaleźć metodą prób i błędów skróty dla symboli: ÷, ≠, ≤, ☺, ×, ², ³, &#177

Przede wszystkim Compose Key służy do pisania niestandardowych, znaków znając ich proste skróty, zamiast długich numerów. Listę znaków, jakie można skomponować, można zobaczyć m.in. na stronie http://www.hermit.org/Linux/ComposeKeys.html, choć lepiej zajrzeć do swojego pliku /usr/share/X11/locale/en_US.UTF-8/Compose (dostępny również tutaj: Compose Key – razi. Plik nieco skrócony, waży prawie 500 KiB).

Znajomość tego klawisza może zaoszczędzić wiele czasu, które normalnie trzeba by poświęcić na znalezienie danego znaku w tablicy znaków.

Aby wejść w tryb komponowania znaków, wystarczy nacisnąć ten klawisz, nie trzeba trzymać. Następnie wpisać kombinację, jeśli nie znajdzie danej kombinacji, wprowadzanie zostanie przerwane i wrócimy do normalnego pisania. Tryb się też kończy w momencie gdy zostanie już ukończona kombinacja. Znaki mogą składać się z więcej niż 2 znaków “składowych”.

Modyfikowanie tablicy

Tablica klawiszy komponowanych wczytywana jest z pliku ~/.XCompose. Trzeba najpierw mieć jednak podstawę. Najprościej „ukraść” ją z jednej z istniejących w systemie, np.:

cp /usr/share/X11/locale/en_US.UTF-8/Compose ~/.XCompose

Następnie edytujemy plik ~/.XCompose. Jego składnia w skrócie:

<klawisze> : "<znak>"  <Unicode> #komentarz

gdzie <Multi_key> to klawisz Compose (mała nieścisłość w nazewnictwie), od niego powinien się zaczynać każdy skrót (chyba że chcecie wyeliminować dany znak z prostego użytku).

Można również stworzyć pusty plik i podobnie jak w języku C: zaincludować inny plik:

include /usr/share/X11/locale/en_US.UTF-8/Compose

“Domyślne reguły” (czyli ten plik) jest też pod “zmienną” %L.

Przy pisaniu sprawozdań z laboratoriów z fizyki używałem greckiego układu klawiszy, przerzucanie układów nie było zbyt wygodne, zrzuciłem sobie więc najczęściej używane greckie litery do tego pliku:

<Multi_key> <O> <m> : "Ω"  U03A9
<Multi_key> <o> <m> : "ω"  U03C9
<Multi_key> <p> <i> : "π"  U03C0
<Multi_key> <D> <e> : "Δ"  U0394
<Multi_key> <d> <e> : "δ"  U03B4
<Multi_key> <l> <a> : "λ"  U03BB

Unikod na końcu jest raczej tylko informacją dodatkową, ponieważ w cudzysłowach można spokojnie zamieścić więcej literek, tworząc np. makra do podpisywania się, czy też przypisując dłuższe słowa kluczowe (lub „stałe fragmenty”) w programowaniu, a bez unikodu również działa. Przy definiowaniu „skrótu” trzeba niestety używać angielskich nazw znaków. Niestety po każdej zmianie potrzebny jest restart X’ów.

Profile tablic

Pewnie zniechęciłem ostatnim zdaniem, ale to nie jest do końca prawda. Uruchamiający się program może działać na nowej tablicy Compose, wystarczy uruchomić go ze zmienną XCOMPOSEFILE ze ścieżką do nowego pliku z tablicą, przykładowo:

XCOMPOSEFILE=~/.XC1 kwrite

A czy da się przypisać na stałe? Może nie bezpośrednio, ale da: trzeba zmodyfikować plik .desktop dorzucając przed nazwę programu „XCOMPOSEFILE=/sciezka/do/tablicy/.XC1”.

Problemy w GTK+

O ile w KDE i aplikacjach w Qt wszystko działa pięknie, niektóre GTK+ stwarzają problemy, używają własnych tablic. Jest na to jednak sposób:

export GTK_IM_MODULE=xim

Tą linijkę należy dodać do autostartu, na przykład poprzez:

echo "export GTK_IM_MODULE=xim" >> ~/.bashrc

przez -
19 1440

Program xbindkeys służy do przechwytywania skrótów klawiaturowych i wykonywania skojarzonych z nimi poleceń. W skrótach tych można użyć wszystkich klawiszy. Artykuł stanowi uzupełnienie opublikowanego już poradnika Klawiatura Multimedialna

Instalacja xbindkeys

Jeśli używamy dystrybucji zarządzającej pakietami za pomocą yuma, wpisujemy:

yum install xbindkeys

Jeśli używamy dystrybucji zarządzającej pakietami za pomocą apt, wpisujemy:

apt-get install xbindkeys

Download i opis instalacji ze źródeł znajduje się pod adresem nongnu.org

Przygotowanie do uruchomienia xbindkeys

Tworzymy domyślny plik konfiguracyjny :

xbindkeys --defaults > ~/.xbindkeysrc

Rozpoznawanie kodów klawiszy xbindkeys

W terminalu wpisujemy:

xbindkeys -k

Po wykonaniu polecenia wciskamy klawisz bądź kombinację klawiszy, w efekcie pojawia się wynik działania programu. Kody znajdują się pod tekstem “(Scheme function)”. Zazwyczaj są to dwie linie: w pierwszej znajduje się numeryczny kod wpisanych klawiszy, w drugiej skrótowy kod klawiszy (informacja “NoSymbol”, oznacza to, że system nie rozpoznał klawisza, zatem możliwe jest tylko użycie kodu numerycznego).

Przykład:

Po uruchomieniu programu przechwytującego i wciśnięciu kombinacji ctrl+alt+u otrzymujemy wynik:

Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
    m:0x1c + c:30
    Control+Alt+Mod2 + u

kod numeryczny kombinacji: m:0x1c + c:30
kod skrótowy kombinacji: Control+Alt+Mod2 + u

Edycja skrótów xbindkeys

Otwieramy plik /.xbindkeysrc dowolnym edytorem tekstu i umieszczamy w nim definicje własnych skrótów. Każda definicja składa się z dwóch linii. W pierwszej linii jest wpisane polecenie, w drugiej zaś – kombinacja klawiszy, którą chcemy je uruchamiać. Jeśli na przykład kombinacja klawiszy ctrl+alt+u miałaby uruchamiać gnome-terminal, definicja wyglądałaby tak:

gnome-terminal&
Control+Alt+Mod2 + u

lub tak:

gnome-terminal&
m:0x1c + c:30

Znak “&” na końcu linii z poleceniem mówi, że polecenie należy wykonać w tle, dzięki czemu program xbindkeys nie zablokuje się. Przy okazji warto usunąć (lub zahashować) zdefiniowane w pliku definicje domyślne.

Uruchomienie programu xbindkeys

Program uruchamiamy wpisując w konsoli xbindkeys. Jeśli chcemy, aby program uruchamiał się automatycznie, należy dodać go do autostartu używanego środowiska graficznego. Na przykład w GNOME robimy to w okienku, które pojawi się po wykonaniu polecenia:

gnome-session-properties

Klawiatura, sprzęt

Klawiatura multimedialna nie jest dziś żadną nowością. Większość z nas posiada urządzenia z dodatkowymi guzikami czy funkcjami. Niestety większość z tych guzików działa tylko pod systemami Microsoft Windows. Wciskając guzik z dużą literkę e uruchamiamy przeglądarkę Internet Explorer. A co zrobić jeśli posiadamy Linuksa? Przecież tam nie mamy IE. Na szczęście jest wiele programów, które pomogą nam skonfigurować dodatkowe klawisze tak by uruchamiały przez nas zdefiniowane aplikacje lub polecenia.

Większość dystrybucji Linuksa radzi sobie poprawnie z klawiszami funkcyjnymi wbudowanymi w klawiatury laptopów. A co jeśli posiadamy zwykłą multimedialną klawiaturę? Nie ma co się martwić. Sprawa jest bardzo prosta a pomoże nam w tym kilka aplikacji.

LinEAK – Linux Easy Access Keyboards

Pierwszą aplikacją z jakiej możemy skorzystać jest LinEAK. Niestety aplikacja nie jest od bardzo dawna rozwijana. Jest to dość prosty w użyciu program z ładnym interfejsem graficznym. Być może w repozytoriach popularnych dystrybucji Linuksa jest on jeszcze dostępny. Jeśli nie to musimy sami go skompilować z ostatnich paczek jakie można znaleźć na sourceforge.net. Wersja jaką udało mi się odszukać jest z 24 maja 2006 roku.

LinEAK

Aplikacja ma wbudowaną bazę klawiatur. Jeżeli posiadamy klawiaturę, która jest już zdefiniowana w programie wystarczy ją wybrać z listy dostępnych urządzeń. To tyle. Kolejnym krokiem będzie uruchomienie demona lineakd. Słucha on sygnałów jakie wysyła klawiatura, a następnie podejmuje odpowiednią akcję.

W przypadku jeśli aplikacja nie posiada zdefiniowanej klawiatury to możemy sami przechwycić sygnał klawisza a następnie do niego podpiąć odpowiednią aplikację. Dla GNOME możemy posłużyć się aplikacją acme.

HotKeys

Kolejną aplikacją z jakiej możemy skorzystać jest program HotKeys. Niestety nie jest on rozwijany już od dawna. Ostatnia wersja jaką znalazłem jest z 11 grudnia 2002 roku. Jest ona oznaczona numerem 0.5.7.1. Aby zobaczyć jakie klawiatury są domyślnie wspierane należy wydać polecenie hotkeys -l. Lista klawiatur nie jest duża.

Klawiatura
Na szczęście podobnie jak w przypadku poprzedniej aplikacji istnieje możliwość ręcznej konfiguracji klawiszy. Pliki konfiguracyjne dla całego systemu dostępne są w katalogu /usr/share/hotkeys/. Jeżeli chcemy skonfigurować klawisze niezależnie od użytkownika, to w jego katalogu domowym tworzymy plik .hotkeys. Jest to plik XML, który trzyma się schematu < Opcja keycode="numer"/ >. Przykładowa konfiguracja dla klawiatury Acer TravelMate 430:

<definition>

  <config model="Acer TravelMate 430">

    <Play         keycode="162"/>
    <NextTrack    keycode="153"/>
    <PrevTrack    keycode="144"/>
    <Stop         keycode="164"/>

    <VolUp        keycode="176" adj="2"/>
    <VolDown      keycode="174" adj="2"/>

    <WebBrowser   keycode="178"/>
    <Email        keycode="236"/>
    <Prog1        keycode="159"/>
    <Prog2        keycode="151"/>
  </config>

  <contributor>
    <name>Ludovic Rousseau</name>
    <email>ludovic.rousseau@free.fr</email>
  </contributor>

</definition>

Teraz należy edytować plik /etc/hotkeys.conf. W sekcji Kbd podajemy nazwę pliku konfiguracyjnego z naszą klawiaturą. W pliku konfiguracyjnym możemy sobie ustawić kolor OSD (on Screen Display), który powiadomi nas o tym jaki guzik wcisnęliśmy. Definiujemy tam również, różne akcje jakie możemy przypisać dodatkowym klawiszom.

Jak pobrać kod klawisza?

Do pobrania kodu klawisza posłuży nam prosta aplikacja o nazwie xev. Po jej uruchomieniu pojawi nam się małe białe okienko z czarnym kwadratem.

xev
Wciskając dowolny guzik na klawiaturze powinniśmy zobaczyć na konsoli podobne wpisy do:

KeyPress event, serial 27, synthetic NO, window 0x2a00001,
    root 0x9e, subw 0x0, time 276586277, (384,81), root:(456,108),
    state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

KeyRelease event, serial 30, synthetic NO, window 0x2a00001,
    root 0x9e, subw 0x0, time 276586397, (384,81), root:(456,108),
    state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"

KeyPress event, serial 30, synthetic NO, window 0x2a00001,
    root 0x9e, subw 0x0, time 276587590, (384,81), root:(456,108),
    state 0x10, keycode 230 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 30, synthetic NO, window 0x2a00001,
    root 0x9e, subw 0x0, time 276587667, (384,81), root:(456,108),
    state 0x10, keycode 230 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:

Jak można zauważyć najpierw został wciśnięty i puszczony guzik [ a ]. Następnie był to jakiś klawisz dodatkowy o keycode równym 230 (keycode 230 (keysym 0x0, NoSymbol)). Właśnie liczba 230 jest kodem klawisza jaki możemy podać do aplikacji.

XBindKeys

Kolejną bardzo ciekawą aplikację jest XBindKeys. Konfiguracja tego programu jest bardzo podobna do pozostałych. O ile poprzednie aplikacje posiadają predefiniowane klawiatury, tutaj musimy wszystko zrobić ręcznie. Najpierw tworzymy plik .xbindkeysrc.

XBindKeys

Plik ten możemy wygenerować poleceniem: xbindkeys --defaults > ~/.xbindkeysrc. Następnie wydajemy polecenie xbindkeys -k i przystępujemy do konfiguracji aplikacji. Wyskoczy nam małe okienko, a w konsoli pojawi się prośba o naciśnięcie jakiegoś klawisza do którego chcemy ustawić opcję.

Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"NoCommand"
    m:0x10 + c:230
    Mod2 + NoSymbol

Teraz należy skopiować dwie pierwsze linijki, czyli:

"NoCommand"
    m:0x10 + c:230

do wcześniej stworzonego pliku. W pierwszej linijce w między cudzysłowami wpisujemy polecenie jakie ma się uruchomić po wciśnięciu guzika np:

"/usr/bin/mozilla-firefox"
    m:0x10 + c:230

W ten sam sposób konfigurujemy resztę guzików. Teraz wystarczy uruchomić xbindkeys i dodatkowe guziki będą działać.

GNOME i klawiatura multimedialna

Jeżeli posiadamy środowisko graficzne GNOME to sprawa jest jeszcze prostsza. Udajemy się do aplikacji Skróty klawiaturowe w menu System -> Preferencja -> Skróty klawiaturowe. Konfigurowanie skrótów jest tam bardzo proste.

Skróty Klawiszowe

Niestety nie zawsze poprawnie wykrywane są wszystkie guziki. Wtedy pozostaje nam skorzystać z innych rozwiązań.

KeyTouch

Aplikacja KeyTouch składa się z dwóch programów: samego KeyTouch oraz programu do konfigurowania aplikacji o nazwie KeyTouch Editor.

KeyTouch

Po wybraniu konkretnego modelu możemy dostosować poszczególne klawisze do naszych potrzeb. Jeżeli nie ma naszej klawiatury na liście możemy skonfigurować jej klawisze w podobny sposób jak to było robione w poprzednich aplikacjach.

KeyTouch KeyTouch

Do konfiguracji posłuży nam aplikacja KeyTouch Editor. Pierwszym krokiem będzie wybranie sposobu podłączenia oraz typu urządzenia. Następnie zostajemy proszeni o wciśnięcie jakiegoś klawisza funkcyjnego. Powinien ukazać się nam bardzo przyjemny konfigurator.

Teraz pozostało skonfigurować klawisze i przypisać do nich funkcje, uruchamiane aplikacje lub pluginy jakie zawiera program. Jeżeli posiadamy plik konfiguracyjny to wracamy do aplikacji KeyTouch i go do niej importujemy. Teraz wystarczy zastosować zmiany i cieszyć się obsługą klawiatury.

przez -
0 504
Linux Tux

Marek Madej zgłosił na bugzilli projektu X.org dość istotną poprawkę dla domyślnej polskiej klawiatury. Nowy układ zawiera między innymi takie znaki jak Euro, Cent, Sekcja ("paragraf") i polskie cudzysłowy. Poza tym Marek zaproponował kilka innych zmian – po to, by nie duplikować niektórych znaków, a by przybyło kilka innych, występujących w językach europejskich. Zapraszamy do podzielenia się swoimi opiniami na ten temat na stronie bugzilli. Opinie te są potrzebne do podjęcia decyzji o przyjęciu lub odrzuceniu poprawki Marka – potrzeba więcej niż jednego głosu w tej sprawie.

Polecane

Prasa, Czasopismo

1 903
Ukazało się Linux Magazine – numer 161. Lipcowe wydanie magazynu zawiera analizę tworzenia bardziej czytelnych wyrażeń regularnych z Simple Regex Language, instrukcje zabezpieczania i...