|
[+] Hotkeys - OSD i dźwięk
Kw4s - 02-07-2008 20:57
Witam
Skonfigurowałem hotkeys tak aby obsługiwał moją klawiaturę multimedialną, mój config wygląda tak:
<?xml version="1.0"?> <definition> <config model="tracer 17-MTB"> <userdef keycode="162" command="dcop amarok player playPause">Play / Pause</userdef> <userdef keycode="164" command="dcop amarok player stop">Stop</userdef> <userdef keycode="144" command="dcop amarok player prev">Previous Track</userdef> <userdef keycode="153" command="dcop amarok player prev">Next Track</userdef> <userdef keycode="176" command="amixer sset 'PCM',0 5%+">Volume Up (+5%)</userdef> <userdef keycode="174" command="amixer sset 'PCM',0 5%-">Volume Down (-5%)</userdef> <userdef keycode="160" command="amixer sset 'PCM',0 toggle; amixer sset 'Master',0 toggle">Mute / Unmute</userdef> <userdef keycode="236" command="evolution --online">Evolution Mail</userdef> <userdef keycode="178" command="iceweasel">Iceweasel Web Browser</userdef> <userdef keycode="230" command="nautilus">Nautilus</userdef> <userdef keycode="232" command="xterm">XTerm</userdef> </config> <contributor> <name>lol</name> <email>lol</email> </contributor> </definition>
Wszystko działa wspaniale, jednak mam kilka problemów:
1. Wyciszenie, oraz zwiększenie / zmniejszenie głośności - owszem, działa, ale tylko kanały Master / Master Mono (wycisza tylko głośniki), mnie interesuje głównie kanał PCM (wycisza zarówno głośniki, jak i słuchawki), dlatego właśnie musiałem ustawić własne komendy zamiast po prostu <Mute>, <VolUp>, <VolDown> - pytanie brzmi: jak zmienić wyciszany kanał? Bo w /etc/hotkeys.conf mogę tylko ustawić, jakich programów używam. Oczywiście ze zmianą głośności jest to samo.
2. Czy da się w jakiś sposób pozbyć tego napisu "Launching:" z OSD: http://img357.imageshack.us/img357/4638/osd1vw8.th.jpg] żeby było tylko samo "Previous Track", "Play / Pause" np.:
zamiast:
itp. Wiem, że sam sobie jestem winny stosując userdefy zamiast zdefiniowanych w hotkeys komend, ale ja jednak wole takie rozwiązanie.
PS. Jeśli zły dział, proszę o przeniesienie, ten wydawał mi się najodpowiedniejszy.
Akkon - 03-07-2008 12:11
1. Wyciszenie, oraz zwiększenie / zmniejszenie głośności - owszem, działa, ale tylko kanały Master / Master Mono (wycisza tylko głośniki), mnie interesuje głównie kanał PCM (wycisza zarówno głośniki, jak i słuchawki)
Musisz sobie ustawić inne polecenie wyciszenia. Ja np. żeby wyciszyć kanał CD mam coś takiego: <userdef keycode="160" command="amixer sset CD toggle">Mute CD</userdef>
Wszystkie parametry związane z wyglądem znajdują się w pliku: /etc/hotkeys.conf
Jak zauważyłeś ja też stosuję takie rozwiązanie, bo (1) nie wszystkie standardowe ustawienia mi działały, (2) tak jest zdecydowanie wygodniej - można sobie wszystko skonfigurować jak się chce, a oto chyba w Linuksie chodzi, nie :-P
Kw4s - 03-07-2008 14:20
1. Wyciszenie, oraz zwiększenie / zmniejszenie głośności - owszem, działa, ale tylko kanały Master / Master Mono (wycisza tylko głośniki), mnie interesuje głównie kanał PCM (wycisza zarówno głośniki, jak i słuchawki)
Musisz sobie ustawić inne polecenie wyciszenia. Ja np. żeby wyciszyć kanał CD mam coś takiego: <userdef keycode="160" command="amixer sset CD toggle">Mute CD</userdef>
<userdef keycode="176" command="amixer sset 'PCM',0 5%+">Volume Up (+5%)</userdef> <userdef keycode="174" command="amixer sset 'PCM',0 5%-">Volume Down (-5%)</userdef> <userdef keycode="160" command="amixer sset 'PCM',0 toggle; amixer sset 'Master',0 toggle">Mute / Unmute</userdef>
Tak to wygląda w moim obecnym konfigu, i o ile do Mute / Unmute nie mam (prawie) zastrzeżeń (jedyne co bym chciał, to żeby zamiast "Mute / Unmute" było samo "Mute" albo samo "Unmute" zależnie od tego co jest aktualnie wykonywane :P), to zmiana głośności już nie działa do końca tak jakbym chciał. Otóż standardowe <VolUp> i <VolDown> z hotkeys wyświetlają taki pasek pokazujący głośność. A obecnie mam tylko "Volume Down (-5%)" i mogę się tylko domyślać, czy dźwięk jest na poziomie 60%, czy 90% :P
Wszystkie parametry związane z wyglądem znajdują się w pliku: /etc/hotkeys.conf
Mój /etc/hotkeys.conf:
############################################################ # Global configuration for hotkeys # ############################################################
# These are the default values. # A line starting with # is a comment.
### Specify the default keyboard (without the .def extension) so you ### don't need to specify -t every time Kbd=tracer-17MTB # CDROM=/dev/cdrom
# PrevTrack=dcop amarok player prev # Play=dcop amarok player playPause # Stop=dcop amarok player stop # Pause=dcop amarok player playPause # NextTrack=dcop amarok player next # Rewind=
# WebBrowser=iceweasel # Email=evolution # Calculator=xcalc # FileManager=gmc # MyComputer=gmc # MyDocuments=gmc # Favorites=gnome-moz-remote --remote=openBookmarks # Transfer=gtp # Record=grecord # Shell=xterm # ScreenSaver=xscreensaver-command -activate # NewsReader=akregator # Communities=mozilla -remote 'openURL(http://slashdot.org)' # Search=iceweasel google.pl # Idea=mozilla -remote 'openURL(http://sourceforge.net)' # Shopping=mozilla -remote 'openURL(http://thinkgeek.com)' # Go=iceweasel google.pl # Print=lpr # Rotate=
# osd_font=-*-lucida-bold-*-normal-*-34-*-*-*-*-216-iso8859-* ### For the color, you can either use the strings in /etc/X11/rgb.txt, ### or use the RGB syntax #RRGGBB, e.g. ##A086FF osd_color=Orange # osd_timeout=3 ### osd_position is either 'top' or 'bottom' osd_position=bottom # osd_offset=25
Jak widać nie ma nic związanego z napisem "Launching:" w OSD :P A
man hotkeys
mówi o OSD tylko tyle:
# OSD stuffs osd_font lucidasanstypewriter-bold-24 (should be aliased to -*-lucidatypewriter-bold-r-normal-*-*-240-*-*-*-*-*-*) osd_color LawnGreen osd_timeout 3 osd_position bottom osd_offset 25
EDIT: OK, chyba znalazłem rozwiązanie problemu z OSD (pozbycie się "Launching:") - wygląda na to, że wystarczy wyedytować 1 plik źródłowy i usunąć jedną linijkę. Ale teraz pojawia się nowy problem :P mianowicie:
noname@debian:~/Desktop/hotkeys-0.5$ ./configure ... checking for db_open in -ldb2... no You need Berkeley DB 2 to compile successfully. Please use --with-db2-incdir and --with-db2-libdir to configure. noname@debian:~/Desktop/hotkeys-0.5$ ./configure --help ... --with-db2-inc=DIR Set the include directory of Berkeley DB2 --with-db2-lib=DIR Set the library directory of Berkeley DB2 ... noname@debian:~/Desktop/hotkeys-0.5$
wie ktoś jakie powinienem podać ścieżki do tej Berkeley DB2? Próbowałem szukać w repo db2 - nic, jak wyszukałem Berkeley to się okazało że w repo jest wersja db4.6 (którą mam, nawiasem mówiąc, zainstalowaną): libdb4.6 Berkeley v4.6 Database Libraries [runtime] This is the runtime package for programs that use the v4.6 Berkeley database library. libdb4.6-dev Berkeley v4.6 Database Libraries [development] This is the development package which contains headers and static libraries for the Berkeley v4.6 database library.
Akkon - 04-07-2008 12:46
EDIT: OK, chyba znalazłem rozwiązanie problemu z OSD (pozbycie się "Launching:") - wygląda na to, że wystarczy wyedytować 1 plik źródłowy i usunąć jedną linijkę
Skoro znalazłeś rozwiązanie to wypadałoby je chyba opisać :-/ W ten sposób nie tylko Ty będziesz mógł z tego skorzystać. Być może wtedy będzie również więcej chętnych żeby Ci pomóc ;-)
Kw4s - 04-07-2008 14:34
EDIT: OK, chyba znalazłem rozwiązanie problemu z OSD (pozbycie się "Launching:") - wygląda na to, że wystarczy wyedytować 1 plik źródłowy i usunąć jedną linijkę
Skoro znalazłeś rozwiązanie to wypadałoby je chyba opisać :-/ W ten sposób nie tylko Ty będziesz mógł z tego skorzystać. Być może wtedy będzie również więcej chętnych żeby Ci pomóc ;-)
No więc wygląda na to, że za wyświetlanie tego nieszczęsnego "Launching:" odpowiadają dwa fragmenty w pliku hotkeys.c w źródłach: Wyświetlanie Launching przy komendach zdefiniowanych w hotkeys (chyba :P):
#ifdef HAVE_LIBXOSD xosd_display(osd, 0, XOSD_string, "Launching:"); xosd_display(osd, 1, XOSD_string, getConfig(type)); #endif
oraz wyświetlanie launching przy userdefach:
#ifdef HAVE_LIBXOSD xosd_display(osd, 0, XOSD_string, "Launching:"); xosd_display(osd, 1, XOSD_string, kbd.customCmds[i].desc); #endif
a funkcja xosd_display przyjmuje następujące parametry:losd to wskaźnik do obiektu osd przy pomocy którego ma to być wyświetlanel
l0 lub 1 (drugi parametr) to linia osd w której ma być wyświetlony tekstl
l3 parametr (XOSD_string) to typ wyświetlanych danych.l
li w końcu czwarty parametr - to co ma być wyświetlonel
Wynika z tego,że pozbycie się tego napisu sprowadza się do wyedytowania pliku hotkeys.c, i zamienienia tych 2 fragmentów na poniższe: pierwszy:
#ifdef HAVE_LIBXOSD xosd_display(osd, 0, XOSD_string, getConfig(type)); #endif
drugi:
#ifdef HAVE_LIBXOSD xosd_display(osd, 0, XOSD_string, kbd.customCmds[i].desc); #endif
Ale jak już napisałem pojawia się malutki problem (niezwiązany z wyedytowaniem źródła, przy normalnym, nietkniętym jest to samo) z Berkeley DB 2 a konkretnie ścieżkami do odpowiednich plików :P
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|