Skocz do zawartości

Graterlia OS 2.0.0 RC1 a konfiguracja przycisków pilota


ojapierdziu

Rekomendowane odpowiedzi

Sprawa jest bardziej złożona. W skrócie to jest tak, że AssignButton wymaga zmian w plikach Enigma2 oraz w pliku mapy klawiszy. Nie da się tego ot tak modyfikować. Co zmianę Enigma2 trzeba by ręcznie za każdym razem edytować pliki i poprawiać pod ten plugin. Z uwagi na to, że od G2 OS nie mamy do czynienia z IMAGE do tunera a IMAGE Systemu Operacyjnego zakładamy, iż będą możliwe dowolne aktualizacje bez konieczności wgrywania wszystkiego od NOWA.

Wyobraźmy sobie teraz, że co 3-5 mieś mam nową E2 i jeszcze część osób używa a część nie AssignButton.

Dlatego musimy znaleźć inne rozwiązanie problemu. Coś co pozwoli na modyfikacje klawiszy bez konieczności ingerencji w E2 za każdym razem.

 

Odnośnik do komentarza
Udostępnij na innych stronach

ojej, największa atrakcja tego systemu rozmydla się... ;)

 

To chociaz proszę Szanownego Kolegę Tux'a o podanie listy wartości jakie można przypisywać klawiszom w pliku:

/usr/local/share/enigma2/keymap.xml

 

a w szczególności jakimi wartościami wywołać:

a.) listę bukietów

b.) aspect ratio (szybkie przełączanie)

c.) wywołanie skryptu w /var/script/run{N}

 

i w ogóle co oznaczają te literki po "flags=" w np:

<key id="KEY_YELLOW" mapto="showEventInfoPlugin" flags="b" />
<key id="KEY_GREEN" mapto="showEventInfo" flags="m" />
<key id="KEY_EPG" mapto="showEventInfo" flags="m" />
<key id="KEY_INFO" mapto="showEventInfoGraphicEpg" flags="l"/>
...
<key id="KEY_DOWN" mapto="switchChannelDown" flags="mr" />

rozumiem, że "l" oznacza "długie przyciśnięcie klawisza"

a pozostałe "m", "b", "mr"?

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Oj, to naprawdę z góry wielce serdecznie dziękuję!!!!!! :)

 

Ponieważ nie wiem jak inni to odbierają ale wydaje mi się że możliwość przypisania swoich klawiszy ma tak PRZEOGROMNY wpływ na ergonomię że ma to większe znaczenie dla większości ludzi niż np... dodatkowe kanały w ofercie!

 

(żeby np. można jakiemuś wrednemu politykowi szybko i sprawnie zamknąć usta ;))

Odnośnik do komentarza
Udostępnij na innych stronach

Jak pisał freebox, nie wszystko da się przypisać przez keymap.xml, dlatego powstał plugin -> http://forum.xunil.pl/index.php?topic=295.msg3977#msg3977.

 

Oglądam sobie właśnie udostępnione źródła Assignbutton. Rozumiem, że trzeba zmieniać keymap.xml, ale co trzeba zmieniać w źródłach enigmy? Jak chodzi o samego keymapa, to mam własnego i pewnie kilku takich się znajdzie co go poprawiło, więc mógłby być jeden z systemem a inny, zmieniony z pluginem. Świadomy użytkownik sobie przypilnuje, nieświadomy i tak się nie zorientuje ;)

 

Ale wracając do Assignbutton. Problem wyskoczył, przy przypisywaniu głośności pod klawisze prawo/lewo. Przeszukałem wątek i znalazłem CrashLoga. Odpowiedni wpis wygląda tak:

 

Traceback (most recent call last):
  File "/usr/lib/enigma2/python/Components/ActionMap.py", line 46, in action
  File "/usr/lib/enigma2/python/Plugins/SystemPlugins/Assignbutton/plugin.py", line 252, in rightc
  File "/usr/lib/enigma2/python/Plugins/SystemPlugins/Assignbutton/plugin.py", line 507, in startPlugin
AttributeError: 'InfoBar' object has no attribute 'volumeDown'

 

Mając teraz źródła, to jak dla mnie błąd jest niby w Assignbutton ale nie trzeba zmieniać kodu E2 a poprawić w pluginie fragment:

 

            elif pname == 'VolumeDown':
                from Screens.InfoBarGenerics import InfoBarChannelSelection
                if isinstance(self, InfoBarChannelSelection):
                    self.volumeDown()
                no_plugin = False

 

albo wyciąć go całkowicie albo poprawić, bo jak wynika z crashloga takiej funkcji nie ma. Jak? Tutaj właśnie kończy się moja wiedza :( Nowego InfoBarGenerics.py z OpenPLi znalazłem i tam faktycznie nie ma funkcji volumeDown(). Była taka w InfoBaraGenerics.py z G1? Nie mam źródeł... Zmienianie kodu OpenPLi, żeby dopasować go do Assignbutton jest faktycznie bez sensu, ale pewnie da się zmienić plugin, żeby sterował funkcjami systemu zgodnie z aktualnym stanem?

 

Gdzie jest dziura w moim wywodzie? Czego jeszcze nie wiem?

 

Odnośnik do komentarza
Udostępnij na innych stronach

Co do ergonomii. Podoba mi sie ta co jest.
powiedzcie mi więc jak teraz wywołać listę bouqet'tów pojedynczym kliknięciem pilota?

Przyciskam czym się da i... ni ma.

 

@Mickey, czy Ty może wkopiowałeś (i próbujesz go) plugin Assignbutton do najnowaszej Graterlii2?

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Częścią klawiszy zarządza E2. jak dobrze pamiętam plik infobar.py

Część zmian przeportowałem do nowego pliku z nowej E2. Nie wiem czy przy następnej E2 starczy sił na to. Mozolna i krecia robota. Dlatego trzeba znaleźć inny sposób na to.

Teraz po prostu część funkcji działa i już. Jak zrobimy update do nowej E2 (kiedyś tam) znowu będzie jazda bez trzymanki.

powiedzcie mi więc jak teraz wywołać listę bouqet'tów pojedynczym kliknięciem pilota?

Przyciskam czym się da i... ni ma.

To akurat będzie niedługo naprawione - przy okazji kilka innych spraw też.

Odnośnik do komentarza
Udostępnij na innych stronach

Co do ergonomii. Podoba mi sie ta co jest.
powiedzcie mi więc jak teraz wywołać listę bouqet'tów pojedynczym kliknięciem pilota?

Przyciskam czym się da i... ni ma.

 

@Mickey, czy Ty może wkopiowałeś (i próbujesz go) plugin Assignbutton do najnowaszej Graterlii2?

 

najprościej to OK i niebieski

Odnośnik do komentarza
Udostępnij na innych stronach

najprościej to OK i niebieski
nie no tyle to ja wiem, tylko prosiłem o jedno kliknięcie ;)

Jak się nie da to proszę powiedzcie jaką wartość przypisać do klawisza np. niebieskiego (i w której sekcji) żeby... oglądasz sobie i oglądasz aż nagle chcesz zobaczyć lsitę bukietów i naciskasz raz np. niebieski klawisz i masz?

 

Ogólnie to widzę że Tux ogołocił Graterlię z plaginów, sterowników (wifi, DVBT) itp. (jak ktoś chce to może zawsze ręcznie dodać) i owa minimalistyczna koncepcja mi się nawet podoba. Otrzymujemy system "plain" a potrzebne plaginy możemy sobie wkopiować do wiadomego katalogu pobrawszy je wcześniej z działu "dodatki" tutejszego portalu... Podobnie ze sterownikami. Otrzymamy w ten sposób system mający dokładnie to co każdy z nas chce mieć, bez balastu niepotrzebnych śmieci. Odrobinę więcej miejsca w NANDzie się pozyska...

 

Podobnie też myślę o filozofii a la Slackware żeby zastąpić plugin Assignbutton ręcznym wpisywaniem co trzeba do pliku:

/usr/local/share/enigma2/keymap.xml

 

Jednak niechże pojawią się JASNE reguły jak to robić i co i gdzie konkretnie trzeba wpisać aby pozyskać taki czy śmaki efekt?!?

 

PS.

a... i jeszcze pragnę zapytać jaką wartość przypisać do danego klawisza (i w której sekcji) aby wywołać z kontekstu trybu oglądania GraphMultiEPG?

(Pragnę mieć GMEPG podpięte do górnej strzałki co znajduję jako genialnie intuicyjne!)

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

(...) i w ogóle co oznaczają te literki po "flags=" (...)

 

Jeżeli pozwolicie, to nie będę się wysilał z tłumaczeniem i wkleję co znalazłem tutaj http://www.geralforum.com/board/1843/442934/azbox-premium-remote-controls-codes.html:

 

<key id="KEY_YELLOW" mapto="pause" flags="m" />

 

key id="KEY_YELLOW" resembles the yellow key on the remote control. The key codes are defined internally in Enigma [plik /etc/lircd.conf].

mapto="pause" means that the yellow key triggers the pause action.

flags="m" indicates which kind of key press is expected.

 

The flags can be:

 

m = make -> Normal key press

l = long -> Long key press

b = break -> Key released

r = repeat -> Key locked (pressed continuously)

 

"m" arrives once, as soon as the key is pressed

"r" arrives after "m", when the key is pressed continuously until the key is released

"l" arrives after 5 repeats, but then only once (repeat still arrives)

"b" arrives as soon as the key is released.

They can also be combine, eg. flags="mr"

 

If a windows is for example opened with "m", you cannot use r/l/b for this key in the same context. Therefore it's better to open the dialog with "b".

 

Jest tam wyjaśnione więcej, między innymi co znaczy np., <map context="MediaPlayerActions"> i na tej podstawie można sobie tworzyć własną mapę dla plugina...

 

-------------------------

 

Próbowałem jeszcze znaleźć jak dopisać plugina pod klawisz, np. takiego GraphMultiEPG i niby znalazłem: http://www.satpimps.co.uk/showthread.php?147081-Keymap-xml-modification&p=785531&viewfull=1#post785531 ale to jest metoda, której zdaje się chcemy uniknąć. Bo wieczne modyfikacje InfoBarGenerics.py to raczej męczące będzie :/

Odnośnik do komentarza
Udostępnij na innych stronach

Tux, to bardzo fajna sprawa z opkg, w ten sposób mamy ogarnięte jakiekolwiek pakiety w jednym miejscu pod kontrolą.

Oczywiście mam wiele pytań co do tego, np. odnośnie instalowania w ten sposób samej Enigmy, jej danych, graterlii-core czy graterlii-scripts (czy sa one "dopracowane" i można już na tym polegać czy to na razie bardzo prototypowa wersja?) ale może o tym w innym wątku żeby tu skoncentrować się na rozpracowaniu klawiszologii ;)

 

OK, ale nie widac w liście pakietów Assignbutton, i może dobrze bo

fajnie jakby się udało ogarnąć składnię  /usr/local/share/enigma2/keymap.xml  tak żeby zainteresowani mogli sobie sami edytowac jakie chcą mieć akcje pod klawiszami.

Jak myslisz, czy pozbycie się AssignButton na rzecz bezpośredniego edytowania nie poprawiłoby responsywności systemu?

 

 

Mickey, dzięki! Tak na gorąco jeszcze odpowiadam, że nie mogę znaleźć jasnej informacji na temat:

 

a.) jak wyglądają te "akcje", czyli to co po znaku "=" w np.  mapto="action1", gdzie znaleźć listę możliwych do przypisywania akcji, czy są one zdefiniowane w skryptach pythona w katalogu /usr/lib/enigma2/python/Screens (czy tylko w jednym InfoBarGenerics.py)?

 

http://www.satpimps.co.uk/showthread.php?147081-Keymap-xml-modification&p=785531&viewfull=1#post785531 ale to jest metoda, której zdaje się chcemy uniknąć. Bo wieczne modyfikacje InfoBarGenerics.py

Jeszcze można by sobie wyobrazić... aby tylko systematycznie to opisano jak co i gdzie modyfikować.

Jednak większy problem, że nie ma czegoś takiego jak

/usr/lib/enigma2/python/Screens/InfoBarGenerics.py

(przynajmniej w Graterlii), natomiast zamiast tego mamy:

/usr/lib/enigma2/python/Screens/InfoBarGenerics.pyo

 

- skąd wziąć źródło *.py ?

- czy interesujące nas wartości zawiera jedynie ów plik  InfoBarGenerics.py czy

również pozostałe z katalogu  /usr/lib/enigma2/python/Screens/ ?

 

 

b.)  jaki sens (i reguły) ma ten podział na sekcje w /usr/local/share/enigma2/keymap.xml

jak np:

         <map context="InfobarInstantRecord">
	<key id="KEY_RECORD" mapto="instantRecord" flags="m" />
	<key id="KEY_RED" mapto="instantRecord" flags="m" />
 </map>

<map context="InfobarExtensions">
	<key id="KEY_BLUE" mapto="extensions" flags="m" />
	<key id="KEY_BLUE" mapto="extensions" flags="l" />
</map>

<map context="InfobarChannelSelection">
	<key id="KEY_LEFT" mapto="zapUp" flags="mr" />
	<key id="KEY_RIGHT" mapto="zapDown" flags="mr" />
	<key id="KEY_PAGEUP" mapto="zapDown" flags="m" />
	<key id="KEY_PAGEDOWN" mapto="zapUp" flags="m" />
	<key id="KEY_UP" mapto="switchChannelUp" flags="mr" />
	<key id="KEY_DOWN" mapto="switchChannelDown" flags="mr" />
	<key id="KEY_REWIND" mapto="historyBack" flags="mr" />
	<key id="KEY_FASTFORWARD" mapto="historyNext" flags="mr" />
	<key id="KEY_OK" mapto="openServiceList" flags="m" />
</map>

Jeżeli to są rzeczywiście konteksty to w takim razie co rozumieć za "kontekst" w sytuacji wyjściowej: znaczy nic nie wywołaliśmy, żadnego okienka dialogowego itp. lecz po prostu naciskamy guzik pilota w trakcie biernego oglądania TV?

 

To co widzimy w przykładzie powyżej to akcje które możemy wywołać  właśnie z sytaucji "wyjściowej" A JEDNAK pogrupowano je w konteksty, DLACZEGO?

 

 

Oto lista kompletna sekcji "kontekstów" z tego pliku:

<map context="ListboxActions">
<map context="KeyboardInputActions">
<map context="SetupActions">
<map context="InputActions">
<map context="InfobarEPGActions">
<map context="InfobarInstantRecord">
<map context="InfobarExtensions">
<map context="InfobarChannelSelection">
<map context="MinuteInputActions">
<map context="InputAsciiActions">
<map context="InputBoxActions">
<map context="WizardActions">
<map context="InfobarMenuActions">
<map context="MenuActions">
<map context="InfobarShowHideActions">
<map context="InfobarActions">
<map context="InfobarExtendedAudioSelectionActions">
<map context="InfobarAudioSelectionActions">
<map context="InfobarAspectSelectionActions">
<map context="InfobarSubserviceSelectionActions">
<map context="InfobarTimerButtonActions">
<map context="InfobarSubserviceQuickzapActions">
<map context="GlobalActions">
<map context="PowerKeyActions">
<map context="NumberActions">
<map context="TextEntryActions">
<map context="InfobarSeekActions">
<map context="MediaPlayerSeekActions">
<map context="InfobarTimeshiftActions">
<map context="InfobarTimeshiftActivateActions">
<map context="MovieSelectionActions">
<map context="InfobarMovieListActions">
<map context="MoviePlayerActions">
<map context="InfobarCueSheetActions">
<map context="MediaPlayerCueSheetActions">
<map context="InfobarTeletextActions">
<map context="InfobarRdsActions">
<map context="RassInteractiveActions">
<map context="ChannelSelectBaseActions">
<map context="ChannelSelectEPGActions">
<map context="ChannelSelectEditActions">
<map context="TvRadioActions">
<map context="TimerEditActions">
        <map context="EPGSelectActions">
        <map context="EventViewActions">
        <map context="EventViewEPGActions">
<map context="OkCancelActions">
<map context="DirectionActions">
<map context="ColorActions">
<map context="MsgBoxActions">
<map context="WindowActions">
<map context="HelpActions">
<map context="ShortcutActions">
<map context="StandbyActions">
<map context="SleepTimerEditorActions">
<map context="CiSelectionActions">
<map context="PiPSetupActions">
<map context="MediaPlayerActions">
<map context="pktActions">
<map context="PKTinforBarSetup">
<map context="PKTIMAdvancedSetup">

jak je interpretować?

widać bowiem że te same klawisze mają przypisane różne akcje w różnych poszczególnych sekcjach, ok najwyraźniej oznaczają one kontekst naciśnięcia guzika (np. co innego podczas słuchania player'a a co innego podczas przeglądania MulitEPG), ale podejrzewam że to nie takie proste...

 

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Co do kontekstów, to można je znaleźć w źródłach systemu, czy pluginów, ale nie wiem od czego zależy na którym ekranie są obsługiwane i co jest kontekstem głównym.

 


 

Trochę poprawiłem Assignbutton. Działa mi na G2 RC1 w wersji bez i z LONG bez zmiany innych plików poza systemowym keymap.xml ... ale bez tego się nie obejdzie. Zapraszam do testowania: http://forum.xunil.pl/index.php?topic=828.msg9940#msg9940.

 


 

Jak już jesteśmy przy takich szczegółach jak obsługa pilota. Niby jest w porządku, pilot z funkcją LONG, dla klawiszy obsługiwanych przez Assignbutton obsługa długiego przyciśnięcia działa, ale nie działa np. opcja z menu systemowego, która rozróżnia długie i krótkie naciśnięcie przycisku POWER. Co jeszcze trzeba zmienić?

Odnośnik do komentarza
Udostępnij na innych stronach

W tunerze ITI2850st w Hyprterminalu wyskakuje ciągle

lircd-0.9.0[1094]: 1failed on bit 1
lircd-0.9.0[1094]: 2failed on bit 13
lircd-0.9.0[1094]: 2failed on bit 9
lircd-0.9.0[1094]: 1failed on bit 1
lircd-0.9.0[1094]: 2failed on bit 13
lircd-0.9.0[1094]: 2failed on bit 5
lircd-0.9.0[1094]: 2failed on bit 5
lircd-0.9.0[1094]: 1failed on bit 1
lircd-0.9.0[1094]: 2failed on bit 13
lircd-0.9.0[1094]: 2failed on bit 9
lircd-0.9.0[1094]: 1failed on bit 5
lircd-0.9.0[1094]: 2failed on bit 13
lircd-0.9.0[1094]: 2failed on bit 9
lircd-0.9.0[1094]: 2failed on bit 1
lircd-0.9.0[1094]: 1failed on bit 1
lircd-0.9.0[1094]: 2failed on bit 13
lircd-0.9.0[1094]: 2failed on bit 9
lircd-0.9.0[1094]: 2failed on bit 9
lircd-0.9.0[1094]: 2failed on bit 5
lircd-0.9.0[1094]: 2failed on bit 1
lircd-0.9.0[1094]: 2failed on bit 1
lircd-0.9.0[1094]: 2failed on bit 1
lircd-0.9.0[1094]: 2failed on bit 1

obojętnie jaką Gratele zainstaluje. Co to może być?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 miesiące temu...

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...