ot alabal(15-08-2006)

reiting (25)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Kak da nastroim nepoddurzhanite multimediini klavishi.

Tazi statiia opisva lichniia opit na avtora pri nastroivaneto na multimediini klavishi s pomoshtta na programite lineak ili hotkeys pod Debian. Tezi dve programi sa lesni za izpolzvane i poddurzhat goliam nabor ot gotovi za izpolzvane konfiguratsionni failove za mnozhestvo klaviaturi, no razbira se ne vsichki. Avtorut popadna na nai-tezhkiia sluchai na nepoddurzhana multimediina klaviatura i po dolu e predstaven negoviia opit za reshavane na tozi problem. Statiiata ne pretendira za pulnota i izcherpatelnost. Veroiatno v statiiata sa dopusnati greshki pri izpolzvaneto na poniatiiata, komandite i izborut na skriptove. Vseki komentar, zabelezhka ili predlozhenie shte bude ot polza.
Opisanite deistviia za nastroika na klavishite v goliamata si chast ne zavisiat ot izpolzvanata distributsiia. Razliki mozhe da ima v t.1 – instalirane i t.5 – pri izbora na startirashti skriptove i spetsifichnite za vsiaka distributsiia direktorii v koito triabva da budat razpolozheni tezi skriptove. Za instalatsiia ot sors – vzh. statiiata na Miroslav Iordanov.
Za napisvaneto na statiiata sa izpolzvani osnovno man pages za lineakd i hotkeys, kakto i dokumentatsiiata na saita na Lineak Project i konkretno Documentation: Keyboard support HOWTO.Drugi polezen iztochnitsi koito biaha neotsenimo polezni biaha Gentoo Forums i spomenatata statiiata na Miroslav Iordanov.

Predi da zapochnem, niakolko dumi za dvete testvani programi ot avtora programi – lineak i hotkeys. Shodstvoto mezhdu tiah e mnogo goliamo i kato konfiguratsionni failove, kato vuzmozhnosti i deistvie. I dvete niamat deistvashti grafichni konfiguratori. Edinstvenoto predimstvo za men na lineak pred hotkeys beshe po-dobroto upravlenie na komandata -remote na mozilla i firefox. Tova predimstvo e znachimo, samo ako izpolzvate niakoi ot tezi brauzuri i iskate da otvariate opredeleni stranitsi s edin klavish.
Osven vsichki plyusove, koito otkrih ot izpolzvaneto na multimediinite klavishi se okaza, che osven osemte klavisha na moiata klaviatura moga da subudia i dobavia kum tiah vsichki ostanali „murtvi butoni“ - winmenu, winproperties i pr.

I tui:

1. Niakoi harakteristiki:
OS: Debian unstable, kernel-2.6.11, i686
WM: Xfce4, GNOME
Login Manager: GDM
Klaviatura: Compaq kb-9963 (takuv be zaiaveniia na gurba i model, koito posledstvie se okaza, che ili ne suotvetstva ili tova e niakakva stranna modifikatsiia). Firmenite draiveri sa vsushtnost softuer prednaznachen za Windows, koito raboti kato demon i ne se otnasia kum spetsifichen model klaviatura. (The Easy Access Keyboard – Software for Commercial Desktops.)

2. Instalatsiia na lineak i/ili hotkeys:
apt-get update
apt-get install lineakd lineak-xosdtplugin
(apt-get install hotkeys)

3. Purvonachalna nastroika na klaviaturata:

3.1.Spisuk s poddurzhani klaviaturi
lineakd -l (hotkeys -l)

3.2. Zadavane na klaviatura:
lineakd -c CIK18g (hotkeys -t hp5181)
Ako v spisuka ne otkriete vashata klaviatura izpolzvaite tazi koiato e ot sushtiia proizvoditel i ima nai-mnogo multimediini klavishi – shansut za suvpadeniia e mnogo visok. Posochenite sa primerni i biaha tezi koito avtorut izpolzva.

3.3. Konfiguratsiia na klaviaturata:
nano ~/.lineak/lineakd.conf (nano /etc/hotkeys.conf)
I dvata konfiguratsionni faila sa dostatuchno iasni. Sled redaktsiiata lineakd.conf mozhe da bude kopiran v /etc i da se izpolzva kato konfiguratsionen fail za vsichki potrebiteli, no ako sushtestvuva .lineak/lineakd.conf v potrebitelskata direktoriia toi shte bude osnovniia fail, a ne tozi v /etc.
Ako dotuk vsichko e nared i vsichki klavishi reagirat – vie ste kusmetlii.
Pusnete lineak -v (hotkeys – bez optsii) za da vidite kakvo tochno se sluchva.
Ako neshtata ne sa v red i niakoi ot multimediinite klavishi ne reagirat, ima dva varianta:

4. Razlika mezhdu klavishnite kodove i definitsiite na lineak i hotkeys.

4.1.Ustanoviavane na klavishnite kodovete:

V konzola napishete:
xev
i posledovatelno natiskaite multimediinite klavishi. Pri natiskane, ako kusmetut ne vi e napusnal suvsem, shte vidite neshto podobno:

KeyRelease event, serial 29, synthetic NO, window 0x2800001,
root 0x8d, subw 0x0, time 4280397, (166,-17), root:(1259,36),
state 0x10, keycode 72 (keysym 0xffc3, F6), same_screen YES,
XLookupString gives 0 bytes: ""

tova koeto e neobhodimo e „ keycode 72“. Napravete sushtoto s vsichki klavishi koito vi interesuvat i zapisvate klavishnite kodove (keycode).

4.2. Promiana na definitsiite.
nano /etc/lineakkb.def (nano /usr/share/hotkeys/hp5181.def)
a) Pri lineakkb.def – prosto kopirate niakoia sektsiia za klaviatura i ia pastirate na kraia na faila predi reda:
#### END X-Tensions Keyboards ####
Promeniate [CIK18g] kakto zhelaete, naprimer na [MINE] i sushto taka [END CIK18g] na [END MINE]
Sreshtu redovete zapisvate novite stoinosti na klavishnite kodove, koito poluchihte ot xev.
VNIMANIE! Klavishnata kombinatsiia suotvetstva na ochakvano deistvie ot lineak – te sa standartni, taka che izpolzvaite tochno takiva kakvito sa zapisani vuv faila – ne improviziraite. Posle tezi klavishi shte se poiaviat v lineakd.conf s opredelenoto im ime i tam veche mozhe da im zadadete kakvito zhelaete komandi.

Naprimer v lineakkb.def e vuzmozhno da imate sledniia red:

Shop = 178
sled lineakd -c MINE v ~/.lineak/lineakd.conf
SHTe se poiavi reda:
Shop =
i tuk mozhe da zadadete kakvato zhelaete komanda, ogradena v dvoini kavichki.

b) Pri hotkeys – purvo zapishete faila hp5181.def pod novo ime, naprimer mine.def v /usr/share/hotkeys/ sled koeto go redaktiraite po podoben nachin, kato zapishete novite klavishni kodove.

Sled koeto izpulnete:
lineakd -c MINE (hotkeys -t mine)
i nastroite deistviiata na klaviaturata.

I taka stigame do nai-tezhkiia variant:

5.Lipsa na klavishni kodove.
5.1. Prisvoiavane na kodove na neizvestnite klavishi.
Ako xev ne reagira kolkoto i da natiskate multimediinite klavishi, preminete v konzola i kato root napishete:
dmesg
ako klavishite vi niamat kodove shte vidite neshto kato tova:

atkbd.c: Unknown key pressed (translated set 2, code 0x93 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e013 ' to make it known.
atkbd.c: Unknown key released (translated set 2, code 0x93 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e013 ' to make it known.

V takuv sluchai triabva da otvorite faila /usr/include/linux/input.h i sami da ustanovite kakvi kodove sa vi neobhodimi. Naprimer za klavisha, koito bi triabvalo da upravliava brauzura, redut za nego shte izglezhda taka:
#define KEY_WWW 150
za meil-klienta:
#define KEY_MAIL 155 i t.n.

Sega triabva kodovete da budat zadadeni za suotvetniia klavish:
setkeycodes e013 150
setkeycodes e014 155

Sled kato zadadete klavishnite kodove triabva da se vurnete kum xev (da go napishete otnovo v konzola) i da vidite kakuv e keycode za suotvetniia klavish. Ako otnovo ne poluchavate keykode oznachva, che greshno ste vuveli purvite kodove (e013) v setkeykodes. Zapishete vsichki chisla, po nachin po koito po-kusno shte mozhete da se orientirate koe kakvo e. Te sa tri za vseki klavish – dve za setkeykodes i edno za keycode ot xev (tozi kod e se izpolzva ot X-sa).

Povtorete uprazhnenieto sus setkeykodes za vsichki klavishi. Ako ste si svurshili dobre rabotata pri dmesg niama da poluchavate poveche suobshteniia za greshki.

Eto kak se poluchi pri men:

(klavishite koito niamaha kodove)
setkeycodes e023 150
setkeycodes e01f 157
setkeycodes e01a 217
setkeycodes e01e 215
setkeycodes e013 216
setkeycodes e014 164
setkeycodes e015 163
setkeycodes e01b 165

(moiata klaviatura v lineakkb.def)

[MINE]
brandname = "Compaq"
modelname = "IK"
[KEYS]
Play = 162
Previous = 144
Next = 153
Mail = 120
Communities = 121
Internet = 178
Search = 229
Go = 235
VolumeDown = 78
Mute = 111
VolumeUp = 110
LWindows = 115
RWindows = 116
Properties = 117
[END KEYS]
[END MINE]

(chast ot lineakd.conf)

Communities = "gaim"
Go = "nautilus --browser --no-desktop"
Internet = "firefox"
Mail = "mozilla-thunderbird"
Mute = EAK_MUTE
Next = "beep-media-player --fwd"
Play = "beep-media-player --play-pause"
Previous = "beep-media-player --rew"
Search = "firefox -remote 'OpenUrl(http://linux-bg,new-tab)'"
VolumeDown = EAK_VOLDOWN
VolumeUp = EAK_VOLUP
LWindows = "firefox -remote 'OpenUrl(about:blank,new-tab)'"
Properties = "xchat"
RWindows = "gnome-terminal"

*Zabelezhka – leviia, desniia uindouski butoni, kakto i t.nar. buton properties sa standartni i i imat kodove 115, 116 i 110. Za namaliavane, uvelichavane i mute izpolzvam Print Scrn, Scroll Lock i Pause/ Break – suotvetno 111, 78, 110. Ostanalite osem butona sa otkroveno multimediini i niamaha prisvoen kod.

5.2. Zapis na kodovete.
Sega e neobhodimo da zapishete kodovete (keycode) v lineakkb.def (ili /usr/share/hotkeys/mine.def), kakto be opisano v t.4.2.
Startiraite lineak (hotkeys) i vizhte dali klavishite veche rabotiat. Bi triabvalo da go praviat, ako ne – veroiatno ste oburkali niakoe chislo – mozhete da razberete kato pusnete:
lineakd -v (hotkeys)

5.3. Vuvezhdane na setkeycodes pri startirane.
Za da ne se nalaga vseki put da pishete mezhdu 10 i 20 puti setkeycodes e neobhodimo te da budat zapisani v skript izpulnim pri startirane. Spored man lineakd e dostatuchno te da budat zapisani v niakoi startirasht skript. Az predpochetoh da napravia otdelen, koito izglezhda taka:

cat /etc/init.d/compaq
#! /bin/bash

setkeycodes e023 150
setkeycodes e01f 157
setkeycodes e01a 217
setkeycodes e01e 215
setkeycodes e013 216
setkeycodes e014 164
setkeycodes e015 163
setkeycodes e01b 165

Sled koeto triabva da se izpulni:
chmod +x /etc/init.d/compaq
update-rc.d compaq default (ako iskate da vidite kude shte go dobavi - update-rc.d -n compaq default).

Sled tova posledno usilie bi triabvalo da imate napulno raboteshta multimediina klaviatura.

Ostava samo da dobavite (ako zhelaete) demona v startirashtiia protses – zadulzhitelno sled startiraneto na X.
Reshenieto koeto proraboti pri men beshe dobavianeto na sledniia skript v /etc/X11/Xsession.d (v Gentoo direktoriiata e /etc/X11/xinit/):

cat /etc/X11/Xsession.d/56lineakd
#!/bin/bash
lineakd &

I triabva da izpulnite:
chmod +x /etc/X11/Xsession.d/56lineakd

Ako vsichko e minalo normalno vie razpolagate s multimediina klaviatura.

Lineak i hotkeys predlagat dopulnitelni vuzmozhnosti, chieto opisanie ostana izvun obhvata na statiiata – t.nar. Toggable key i Modifiers, koito dava vuzmozhnost za dopulnitelni nastroiki i dobaviane na psevdo multimediini klavishi chrez modifitsirane (ili inache kazano klavishni kombinatsii) na veche sushtestvuvashtite chrez shift, alt i control. Izvun obhvata ostanaha i makrosite EAK koito predlagat oshte dopulnitelna funktsionalnost za kontrol na softuera, zvukovata i video kartata i dr.

Po vreme na nastroikta na klaviaturata se pitah dali ima smisul ot vsichko, tova - tursene na kodove, skriptove i pr. Sled kato vsichko zaraboti - za men otgovora e "da, opredeleno" - osven priiatno iznenadvashtite vsichki okolo vas zeleni suobshteniia (i tehniia tsviat mozhe da bude promenen) po monitora, novite klavishi spestiavat vreme i nervi.
I edin posleden suvet - napravete si backup na novosuzdadenite i promenenite failove - za vseki sluchai.



....


<< DC++ Za Linuks | Instalatsiia na Postfix Admin s poddruzhka na PostgreSQL >>