# [KDE][LIRC] jak pogodzic?

## Belliash

Witam, od pewnego czasu walcze z LIRCem na swoim laptopie ktory wyposazony jest w pilota. Sterownik skompilowany jako modul (z kernela) - Windows wykrywa jako ENE CIR, pod linuksem uzywam sterownika lirc_ene0100:

```
lirc_dev: IR Remote Control driver registered, major 253                                                                               

lirc_dev: lirc_register_driver: sample_rate: 0                                                                                         

enecir: KB3926C detected, driver support is not complete!                                                                              

enecir: chip is 0x3926 - 0x00, 0xc0                                                                                                    

enecir: hardware features:                                                                                                             

enecir: learning and tx off, gpio40_learn off, fan_in off                                                                              

enecir: driver has been succesfully loaded 
```

mimo to LIRC_DEVICES="all" aby nie kombinowac poki co za bardzo  :Wink: 

i mam urzadzenie /dev/lirc0

Uzylem irrecord, aby ustawic przyciski i /etc/init.d/lircd startuje bez problemow, a gdy wykonam irw i wcisne jakis klawisz pilota to otrzymuje wynik na ekranie:

```
000000037ff07bdd 00 KEY_ENTER /tmp/remote

000000037ff07bdd 01 KEY_ENTER /tmp/remote

000000037ff07be0 00 KEY_DOWN /tmp/remote 

000000037ff07bf1 01 KEY_MUTE /tmp/remote 

000000037ff07bee 00 KEY_VOLUMEDOWN /tmp/remote

000000037ff07bef 00 KEY_VOLUMEUP /tmp/remote

000000037ff07be5 00 KEY_NEXT /tmp/remote

000000037ff07be6 00 KEY_STOP /tmp/remote

000000037ff07be4 00 KEY_PREVIOUS /tmp/remote

000000037ff07bec 00 KEY_BRIGHTNESSDOWN /tmp/remote

000000037ff07bed 00 KEY_BRIGHTNESSUP /tmp/remote

000000037ff07b7f 00 KEY_PROG1 /tmp/remote
```

tak wiec wnioskuje ze dziala  :Wink: 

Pytanie jednak, jak teraz zmusic cale srodowisko, aby to dzialalo  :Wink: 

Zalezy mi miedzy innymi na tym, aby moc za pomoca pilota sciszac i zglasniac muzyke, by dzialalo mute (kmix). Moze daloby sie nawet ustawic sciemnianie i rozjasnianie matrycy...  A najlepiej jakbym mogl w censtrum sterowania KDE ustawiac skroty (tak jak robie to z klawiatura - klikam wlasny i dany klawisz, ale aby przechwytywal z lirca)... Nie wiem czy to mozliwe... how-to wydaja sie lekko przestarzale, opisuja stare KDE - ja posiadam 4.3

Oprocz tego chcialbym takze sterowac audaciousem - play, stop, next, prev etc... Jednak mimo dodania flagi "lirc" to USe i przekompilowaniu paczek, oraz wlaczeniu odpowiedniego pluginu w audaciousie, nadal nie moge w konfiguracji skrotow globalnych uzywac pilota...

Ktos ma jakies doswiadczenie w uzywaniu tego ustrojstwa?  :Smile: 

----------

## dziadu

Doświadczenia z klirc nie mam, ale spróbuj np tak: Ustawienia Systemowe -> Klawiatura i mysz -> Globalne skróty klawiatury

Masz tam różne składniki KDE, np kmix, amarok (może też audacius się znajdzie) i spróbuj skonfigurować przez ten panel Twoje skróty.

----------

## Belliash

 *dziadu wrote:*   

> Doświadczenia z klirc nie mam, ale spróbuj np tak: Ustawienia Systemowe -> Klawiatura i mysz -> Globalne skróty klawiatury
> 
> Masz tam różne składniki KDE, np kmix, amarok (może też audacius się znajdzie) i spróbuj skonfigurować przez ten panel Twoje skróty.

 

oto chodzi ze niestety jak wciskam jakis klawisz na pilocie to nic sie nie dzieje - jakbym nic nie wciskal...

irw dziala, ale w kde, audaciousie czy kazdym innym sofcie juz nie  :Sad: 

btw.. nie mam nic takiego jak klirc - nawet w portage tego nie ma  :Razz: 

----------

## dziadu

 *Belliash wrote:*   

> oto chodzi ze niestety jak wciskam jakis klawisz na pilocie to nic sie nie dzieje - jakbym nic nie wciskal...

 

Ok, nie wynikało to jasno z Twojego postu że próbowałeś tego.

 *Belliash wrote:*   

> btw.. nie mam nic takiego jak klirc - nawet w portage tego nie ma 

 

To było prze...literowanie się? Miałem na myśli samo lirc. Ale tchneło mnie, że to klirc się z niczego nie wzieło i musiało mi utkwić w pamięci. No i znalazłem w portage kdelirc. Próbowałeś? I jakie how-to masz na mysli?

----------

## Belliash

1) Prosba do moderatora aby usunal 1 posta - nie wiem dlaczego sie nie wyedytowalo, tylko dodalo nowy pod spodem  :Sad: 

2) kdelirc - wlasnie zainstalowalem i zaraz bede badal  :Wink: 

3) gentoo-wiki.com + strona producenta + google... wszedzie pisze cos innego i zaczynam glupiec co potrzebne a co nie  :Razz: 

----------

## nUmer_inaczej

Żeby użyć zewnętrznych programów musisz użyć demona irexec

1. rc-update irexec add default

2. zrobić jakiś sensowny plik konfiguracyjny /home/user/.lircrc jak np poniższy

```

begin

   prog = irexec

   button = FUNCTION

   button = MUTE

   mode = sound 

end

begin

   prog = irexec

   button = FUNCTION

   button = POWER

   mode = tvtime 

end

begin

   prog = irexec

   button = RESET

   button = PLAY

   mode = mplayer

end

begin

   prog = irexec

   button = FUNCTION

   button = PLAY

   mode = player

end

begin

   prog = irexec

   button = FUNCTION

   button = SOURCE 

   mode = mocp 

end

begin   

   prog = irexec

   button = RESET

   button = PLAY

   mode = audacious

end

begin

   prog = irexec

   button = RESET

   button = POWER

   mode = poweroff

end

##########

# PLAYER #

##########

begin player

begin 

     button = VOLUMEUP 

     prog = irexec

     config = amixer sset "Master" 2+ &

end 

begin 

    button = VOLUMEDOWN 

    prog = irexec 

    config = amixer sset "Master" 2- &

end 

begin 

    button = MUTE 

    prog = mplayer 

    config = mute &

end 

begin 

    button = MINIMIZE 

    prog = mplayer 

    config = quit &  

end 

begin 

    button = PLAY 

    prog = mplayer 

    config = pause &

end 

begin 

   button = FMSCANUP 

   prog = mplayer

   config = pt_step 1 &

end 

begin 

   button = FMSCANDOWN 

   prog = mplayer    

   config = pt_step -1 &

end 

begin

   prog = irexec

   button = 0

   config = /home/numer/skrypty/muza/gold_mplayer Main &

end

begin

   prog = irexec

   button = 1

   config = /home/numer/skrypty/muza/gold_mplayer Smooth &

end

begin

   prog = irexec

   button = 2

   config = /home/numer/skrypty/muza/gold_mplayer House &

end

begin

   prog = irexec

   button = 3

   config = /home/numer/skrypty/muza/gold_mplayer Top_40 &

end

begin

   prog = irexec

   button = 4

   config = /home/numer/skrypty/muza/gold_mplayer Pop &

end

begin

   prog = irexec

   button = 5

   config = /home/numer/skrypty/muza/gold_mplayer R&B/Soul &

end

begin

   prog = irexec

   button = 6

   config = /home/numer/skrypty/muza/gold_mplayer Jazz &

end

begin

   prog = irexec

   button = 7

   config = /home/numer/skrypty/muza/gold_mplayer Trance &

end

begin

   prog = irexec

   button = 8

   config = /home/numer/skrypty/muza/gold_mplayer Techno &

end

begin

   prog = irexec

   button = 9

   config = /home/numer/skrypty/muza/gold_mplayer European &

end

end player

#########

# SOUND #

#########

begin sound

begin

   prog = irexec

   button = VOLUMEUP

   config = amixer sset "Master" 2+ &

end

begin

   prog = irexec

   button = VOLUMEDOWN

   config =  amixer sset "Master" 2- &

end

# record microfon

begin

   prog = irexec

   button = 5

   config = amixer sset "Mic Boost (+20db)" on &

#   config = amixer sset "Mic Boost (+20db)" off &

end

begin

   prog = irexec

   button = 4

   config = amixer sset "Mic" -3

end

begin

   prog = irexec

   button = 6

   config = amixer sset "Mic" +3

end

end sound

   ##########

   # TVTIME #

   ##########

begin tvtime

begin

    prog = irexec

    button = MTS

    config = tvtime-command DISPLAY_INFO # → osd info

end

begin

    prog = irexec

    button = POWER

    config = tvtime &

    config = tvtime-command QUIT # → on/off

end

begin

    prog = irexec

    button = source

    config = tvtime-command TOGGLE_INPUT # → źródło sygnału

end

begin

    prog = irexec

    button = ZOOM

    config = tvtime-command TOGGLE_FULLSCREEN # → fullscreen

end

begin

    prog = irexec

    button = CC

    config = tvtime-command TOGGLE_CC # → dekodowanie

end

begin

    prog = irexec

    button = MUTE

    config = tvtime-command TOGGLE_MUTE # → wyciszenie

end

# Menu navigation.

begin

    prog = irexec

    button = FMSCANUP

    config = tvtime-command UP # → kanał do przodu

    repeat = 1

end

begin

    prog = irexec

    button = FMSCANDOWN 

    config = tvtime-command DOWN # → kanał do tyłu

    repeat = 1

end

begin

    prog = irexec

    button = VOLUMEUP

    config = amixer sset "Master" 2+ &

    repeat = 1

end

begin

    prog = irexec

    button = VOLUMEDOWN

    config = amixer sset "Master" 2- &

    repeat = 1

end

begin

    prog = irexec

    button = RECALL

    config = tvtime-command CHANNEL_JUMP # → poprzedni kanał

    repeat = 1

end

#begin

#    prog = irexec

#    button = TUNER

#    config = tvtime-command RUN_COMMAND "alevt -charset latin-2" # → zainstaluj #alevt;telegazeta

#end

begin

    prog = irexec

    button = FMFREQUP

    config = tvtime-command TOGGLE_PAUSE

    repeat = 40

end

begin

    prog = irexec

    button = FMFREQDOWN

    config = tvtime-command SET_INPUT 0

    repeat = 40

end

begin

    prog   = irexec

    button = 1

    config = tvtime-command CHANNEL_1

end

begin

    prog   = irexec

    button = 2

    config = tvtime-command CHANNEL_2

end

begin

    prog   = irexec

    button = 3

    config = tvtime-command CHANNEL_3

end

begin

    prog   = irexec

    button = 4

    config = tvtime-command CHANNEL_4

end

begin

    prog   = irexec

    button = 5

    config = tvtime-command CHANNEL_5

end

begin

    prog   = irexec

    button = 6

    config = tvtime-command CHANNEL_6

end

begin

    prog   = irexec

    button = 7

    config = tvtime-command CHANNEL_7

end

begin

    prog   = irexec

    button = 8

    config = tvtime-command CHANNEL_8

end

begin

    prog   = irexec

    button = 9

    config = tvtime-command CHANNEL_9

end

begin

    prog   = irexec

    button = 0

    config = tvtime-command CHANNEL_0

end

begin

    prog = irexec

    button = ENTER

    config = tvtime-command ENTER

end

end tvtime

   ###########

   # MPLAYER #

   ##########

begin mplayer

begin 

     button = VOLUMEUP 

     prog = irexec 

     config = amixer sset "Master" 2+ &

end 

begin 

    button = VOLUMEDOWN 

    prog = irexec

    config = amixer sset "Master" 2- &

end 

begin 

    button = PLAY 

    prog = mplayer 

    config = pause &

end 

begin 

    button = STOP 

    prog = mplayer 

    config = seek 0 1\npause &

end

begin 

    button = ZOOM 

    prog = mplayer

    config = vo_fullscreen &

end 

begin 

   button = FMSCANUP 

   prog = mplayer

   config = seek_chapter +1 0 &

end 

begin 

   button = FMSCANUP 

   prog = mplayer

   config = pt_step 1 &

end 

begin 

   button = FMSCANDOWN 

   prog = mplayer    

   config = pt_step -1 &

end 

begin 

   prog = mplayer 

   button = FMFREQUP

   config = seek +60 &

end 

begin 

    button = MUTE 

    prog = mplayer 

    config = mute &

end 

begin 

    button = MINIMIZE 

    prog = mplayer 

    config = quit &  

end 

begin 

    button = FUNCTION

   button = 5

    prog = mplayer 

    config = osd &

end 

begin 

    button = MTS 

    prog = mplayer 

    config = menu up &

   config = menu down &

end 

begin 

    button = PLUS 

    prog = mplayer 

    config = menu ok &

end 

begin 

    button = RECALL 

    prog = mplayer 

    config = menu cancel &

end 

begin 

    button = MTS 

    prog = mplayer 

    config = menu hide &

    repeat = 40 

end 

begin 

    button = 1 

    prog = mplayer

    config = brightness +1 &

end 

begin 

    button = 4 

    prog = mplayer 

    config = brightness -1 &

end 

begin 

    button = 2 

    prog = mplayer 

    config = contrast +1 &

end 

begin 

    button = 5 

    prog = mplayer 

    config = contrast -1 &

end 

begin 

    button = 3 

    prog = mplayer 

    config = saturation +1 &

end 

begin 

    button = 6 

    prog = mplayer 

    config = saturation -1 &

end 

begin 

    button = 7 

    prog = mplayer 

    config = sub_pos -1 &

end 

begin 

    button = 0 

    prog = mplayer 

    config = sub_pos +1 &

end

begin 

   button = SNAPSHOT

   prog = mplayer

   config = -vf screenshot &

end

end mplayer

   #############

   # AUDACIOUS #

   #############

begin audacious

begin 

   prog = irexec 

   button = PLAY

   config = audacious -t &# → play

end

begin 

   prog = irexec 

   button = STOP

   config = audacious -s &# → stop

end

begin 

   prog = irexec 

   button = FMSCANUP

   config = audacious -f &# → następny utwór

end

begin 

   prog = irexec 

   button = FMSCANDOWN

   config = audacious -r &# → poprzedni utwór

end

begin 

   prog = irexec 

   button = VOLUMEUP

   config = amixer sset "Master" 2+ &

end

begin 

   prog = irexec 

   button = VOLUMEDOWN

   config = amixer sset "Master" 2- &

end

begin 

   prog = irexec 

   button = MUTE

   config = aumix -v 0 &

end

begin 

   prog = irexec 

   button = 1

   config = audacious -E /home/numer/.gold/Smooth.m3u &

end

begin 

   prog = irexec 

   button = 2

   config = audacious -E /home/numer/.gold/Techno.m3u &

end

begin 

   prog = irexec 

   button = 3

   config = audacious -E /home/numer/.gold/Trance.m3u &

end

begin 

   prog = irexec 

   button = 4

   config = audacious -E /home/numer/.gold/Pop.m3u &

end

begin 

   prog = irexec 

   button = 5

   config = audacious -E /home/numer/.gold/Top_40.m3u &

end

begin 

   prog = irexec 

   button = 6

   config = audacious -E /home/numer/.gold/Latin.m3u &

end

begin 

   prog = irexec 

   button = 7

   config = audacious -E /home/numer/.gold/Classical.m3u &

end

begin 

   prog = irexec 

   button = 8

   config = audacious -E /home/numer/.gold/.m3u &

end

begin 

   prog = irexec 

   button = 9

   config = audacious -E /home/numer/.gold/m3u   &

end

begin 

   prog = irexec 

   button = 0

   config = audacious -E /home/numer/.gold/.m3u &

end

end audacious

   ########

   # MOCP #

   ########

begin mocp

begin

   prog = irexec

   button = PLAY 

   config = mocp --play &

end

begin

   prog = irexec

   button = STOP

   config = mocp --stop &

end

begin

   prog = irexec

   button = FMSCANUP

   config = mocp --next &

end

begin

   prog = irexec

   button = FMSCANDOWN

   config = mocp --previous &

end

begin

   prog = irexec

   button = VOLUMEUP

   config = mocp --volume +2 &

end

begin

   prog = irexec

   button = VOLUMEDOWN

   config = mocp --volume -2 &

end

begin

   prog = irexec

   button = POWER

   config = mocp --exit &

end

begin

   prog = irexec

   button = RECORD

   config = mocp --toggle-pause ; /home/numer/skrypty/muza/streammocp -s &

end

begin

   prog = irexec

   button = FUNCTION

   button = RECORD

   config = mocp --toggle-pause ; /home/numer/skrypty/muza/streammocp -a &

end

end mocp

   ############

   # POWEROFF #

   ############

begin poweroff

begin

   prog = irexec

   button = MUTE 

    config = sudo halt &

end

begin

   prog = irexec

   button = MINIMIZE

   config = /home/numer/skrypty/różne/dpms -off &

end

begin

   prog = irexec

   button = ZOOM

   config = /home/numer/skrypty/różne/dpms -on &

end

end poweroff

```

tak więc odpalasz komputer z wystartowanymi demonami lircd oraz irexec. Jeśli dany program nie wspiera lirca, to za transport używasz program irexec - on po prostu uruchamia zewnętrzne komendy. Skoro działa irw to /etc/conf.d/lircd wygląda zapewne jak poniżej 

```
# Options to pass to the lircd process

LIRCD_OPTS="-d /dev/lirc0"

```

Pamiętam, że kiedyś odpaliłem irexec wraz z klirc - odpowiednio edytując .lircrc można pogodzić wszystko razem.

Nie wiem, czy cokolwiek pomogłem - po prostu nieco inaczej odpalam lirca - jako urządzenie evdev.

----------

## dziadu

 *Belliash wrote:*   

> oto chodzi ze niestety jak wciskam jakis klawisz na pilocie to nic sie nie dzieje - jakbym nic nie wciskal...

 

Ok, nie wynikało to jasno z Twojego postu że próbowałeś tego. 

 *Belliash wrote:*   

> btw.. nie mam nic takiego jak klirc - nawet w portage tego nie ma

 

To było prze...literowanie się? Miałem na myśli samo lirc. Ale tchneło mnie, że to klirc się z niczego nie wzieło i musiało mi utkwić w pamięci. No i znalazłem w portage kdelirc. Próbowałeś? I jakie how-to masz na mysli?

----------

## Belliash

mam irexec  :Wink: 

Zainstalowalem kdelirc ale po uruchomieniu pisze ze nie ma dzialajacego demona lirc  :Neutral: 

----------

## nUmer_inaczej

A czy na pewno /etc/init.d/lircd status pokazuje "status:  started"? .... no bywa różnie  :Smile: 

/etc/lircd.conf oczywiście istnieje.

----------

## Belliash

dlaczego /etc/lircd.conf? wyczytalem ze ma byc /etc/lirc/lircd.conf  :Neutral:  oto on:

```
begin remote

  name  /tmp/remote

  bits            8

  flags RC6        

  eps            30

  aeps          100

  header       2772   908

  one           449   448

  zero          449   448

  pre_data_bits   29     

  pre_data       0x37FF07B

  gap          72161      

  toggle_bit_mask 0x8000  

  rc6_mask    0x100000000 

      begin codes

          KEY_1                    0xFE

          KEY_2                    0xFD

          KEY_3                    0xFC

          KEY_4                    0xFB

          KEY_5                    0xFA

          KEY_6                    0xF9

          KEY_7                    0xF8

          KEY_8                    0xF7

          KEY_9                    0xF6

          KEY_0                    0xFF

          KEY_BRIGHTNESSDOWN       0xEC

          KEY_BRIGHTNESSUP         0xED

          KEY_STOP                 0xE6

          KEY_PLAY                 0x91

          KEY_NEXT                 0xE5

          KEY_PREVIOUS             0xE4

          KEY_REWIND               0xEA

          KEY_FORWARD              0xEB

          KEY_MUTE                 0xF1

          KEY_VOLUMEDOWN           0xEE

          KEY_VOLUMEUP             0xEF

          KEY_ENTER                0xDD

          KEY_UP                   0xE1

          KEY_DOWN                 0xE0

          KEY_LEFT                 0xDF

          KEY_RIGHT                0xDE

          KEY_PROG1                0x7F

          KEY_PROG2                0xC6

          KEY_PROG3                0xA5

          KEY_PROG4                0xF0

          KEY_PROGRAM              0xF0

          KEY_TV                   0xA4

          KEY_TV2                  0xA3

          KEY_TUNER                0xA2

          KEY_TWEN                 0xA1

          KEY_POWER                0xF3

          KEY_BACKSPACE            0xDC

          KEY_DELETE               0xF5

          KEY_ENTER                0xF4

      end codes

end remote
```

poza tym bez tego pliku irw nie nie pokazuje outputu jak zacytowalem powyzej.

co do irexec, to faktycznie status: crashed - nie zwrocilem uwagi  :Wink:  Jutro wroce do tego i zobacze co i jak...dzis juz nie mam sil na dalsze boje  :Razz:  Poki co dziekuje za pomoc

----------

## tomaszg

 *Belliash wrote:*   

> dlaczego /etc/lircd.conf? 

 

U mnie też jest /etc/lircd.conf. 

Dodam, że poza irexec, można pobawić się też irxevent. Pozwala to podpinać pod pilota klawisze, mysz, itp.

```

begin

prog = irxevent

button = DBS_UP

config = Key Up CurrentWindow

end

```

Jeśli jakiś program ma flagę "lirc" to z reguły oznacza, że w jego plikach konfiguracyjnych można ustawić współpracę z pilotem (nie mam audaciousa) - musisz przypisać nazwy swoich guzików do funkcji.

PS. MOC-em steruje właśnie przez podpięcie kursorów pod pilota i ustawienie czcionki 40pt w terminalu  :Smile: 

----------

