Подключение и использование пульта PlayStation 3 BD Remote

    Попал мне тут в руки Bluetooth пульт от Play Station 3.
    image

    И решил я попробовать подключить его к компу, дабы обеспечить большее удобство просмотра фильмов. По старой привычке вооружился бубном и большим напильником (ибо у меня установлен линукс).
    Но, все оказалось очень просто.

    Т.к. у меня установлена Ubuntu 10.04, все дальнейшие операции будут приведены как они есть в этом дистрибутиве.
    В интернете, по ходу дела, нашел несколько мануалов, но все они были неполными, либо не работали, либо уже устарели.
    Итак, первое что нам нужно — сопряжение пульта и ПК.
    Для Убунту версии 10.04 все что нужно уже есть в штатных репозиториях.
    Для более старых версий системы можно использовать этот PPA:

    > sudo apt-get purge bluez
    > sudo echo "deb ppa.launchpad.net/kitlaan/ppa/ubuntu jaunty main" >> /etc/apt/sources.list
    > sudo echo "deb-src ppa.launchpad.net/kitlaan/ppa/ubuntu jaunty main" >> /etc/apt/sources.list
    > sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6F7177CC
    > sudo apt-get update
    > sudo apt-get install bluez


    Для других дистрибутивов можно использовать этот патч для добавления поддержки пульта в bluez.
    Затем проверяем, загружен ли модуль ядра uinput:

    > lsmod | grep uinput

    Если загружен — то все в порядке. Если же нет, добавляем его в «автозагрузку»:

    > sudo echo uinput >> /etc/modules

    Затем, ставим blueman:

    > sudo aptitude install blueman

    и замещаем штатный bluetooth апплет гнома апплетом blueman-applet через Startup Applications.
    Все, теперь можно сопрягать. Запускаем поиск устройств в апплете blueman, давим START + ENTER на пульте и подцепляем дивайс. Кстати, для пульта не нужен Passkey:

    image
    image

    > grep -i remote /proc/bus/input/devices
    N: Name="PS3 Remote Controller"


    Можно также проверить пульт через xev, т.к. он посылает иксовые события при нажатии некоторых кнопок.
    Далее нужно будет поставить и настроить lirc.

    > sudo aptitude install gnome-lirc-properties lirc

    Запускаем gnome-lirc-properties (Preferences -> Infrared Remote Control) и давим на Auto-detect. В списке выбираем пульт:

    image

    Там же можно потестировать пульт нажимая кнопки на нем (секция Configuration test)

    image

    Следующий шаг опционален, но я его сделал для некоторого упрощения дальнейшей конфигурации.
    Правим /etc/lirc/lircd.conf.gnome:

    begin remote
    name ps3-bd
    bits 32

    begin codes
    BTN_0 0x10100
    BTN_THUMBL 0x1013d
    BTN_THUMBR 0x1013e
    BTN_TL 0x10136
    BTN_TL2 0x10138
    BTN_TR 0x10137
    BTN_TR2 0x10139
    BTN_START 0x1013b
    0 0x1000b
    1 0x10002
    2 0x10003
    3 0x10004
    4 0x10005
    5 0x10006
    6 0x10007
    7 0x10008
    8 0x10009
    9 0x1000a
    ANGLE 0x10173
    AUDIO 0x10188
    BACK 0x1009e
    BLUE 0x10191
    BREAK 0x1019b
    CANCEL 0x100df
    CLEAR 0x10163
    CLOSE 0x100ce
    CONTEXT_MENU 0x101b6
    DOWN 0x1006c
    EJECTCD 0x100a1
    ENTER 0x1001c
    ESC 0x10001
    EXIT 0x100ae
    FORWARD 0x1009f
    FRAMEBACK 0x101b4
    FRAMEFORWARD 0x101b5
    GREEN 0x1018f
    HOMEPAGE 0x100ac
    INFO 0x10166
    LEFT 0x10069
    MENU 0x1008b
    NEXT 0x10197
    OPTION 0x10165
    PAUSE 0x10077
    PLAY 0x100cf
    PREVIOUS 0x1019c
    RED 0x1018e
    REWIND 0x100a8
    RIGHT 0x1006a
    SCREEN 0x10177
    SELECT 0x10161
    STOP 0x10080
    SUBTITLE 0x10172
    TIME 0x10167
    UP 0x10067
    YELLOW 0x10190
    end codes
    end remote


    Я оставил там только фактически присутствующие на пульте кнопки и изменил имена кнопок.
    Теперь перезапускаем lirc и добавляем его в автозапускаемые сервисы:

    > sudo service lirc restart
    > sudo update-rc.d lirc enable


    и тестируем нажатия кнопок:

    > irw
    00000000000100a1 00 EJECTCD ps3-bd
    000000000001018e 00 RED ps3-bd
    000000000001018f 00 GREEN ps3-bd
    0000000000010166 00 INFO ps3-bd
    000000000001008b 00 MENU ps3-bd
    00000000000101b6 00 CONTEXT_MENU ps3-bd
    000000000001001c 00 ENTER ps3-bd
    0000000000010165 00 OPTION ps3-bd
    0000000000010100 00 BTN_0 ps3-bd
    0000000000010136 00 BTN_TL ps3-bd
    00000000000100cf 00 PLAY ps3-bd
    0000000000010161 00 SELECT ps3-bd
    0000000000010077 00 PAUSE ps3-bd


    Собственно, вот практически и все. Теперь осталось сконфигурировать пользовательские приложения для работы с lirc. Настройки vlc и Rhythmbox:

    image
    image

    И научить их принимать команды пульта от lirc. Делается это посредством модификации файла ~/.lircrc:

    begin
    prog = vlc
    button = PLAY
    config = key-play-pause
    end
    begin
    prog = vlc
    button = PAUSE
    config = key-play-pause
    end
    begin
    prog = vlc
    button = STOP
    config = key-stop
    end
    begin
    prog = vlc
    button = FORWARD
    config = key-jump+short
    end
    begin
    prog = vlc
    button = REWIND
    config = key-jump-short
    end
    begin
    prog = vlc
    button = NEXT
    config = key-next
    end
    begin
    prog = vlc
    button = PREVIOUS
    config = key-prev
    end
    begin
    prog = vlc
    button = UP
    config = key-nav-up
    end
    begin
    prog = vlc
    button = DOWN
    config = key-nav-down
    end
    begin
    prog = vlc
    button = LEFT
    config = key-nav-left
    end
    begin
    prog = vlc
    button = ENTER
    config = key-nav-activate
    end
    begin
    prog = vlc
    button = RIGHT
    config = key-nav-right
    end
    begin
    prog = vlc
    button = BTN_TL
    config = key-vol-up
    repeat = 1
    end
    begin
    prog = vlc
    button = BTN_TL2
    config = key-vol-down
    repeat = 1
    end
    begin
    prog = vlc
    button = BTN_THUMBL
    config = key-vol-mute
    end
    begin
    prog = vlc
    button = SCREEN
    config = key-toggle-fullscreen
    end
    begin
    prog = vlc
    button = FRAMEFORWARD
    config = key-frame-next
    end
    begin
    prog = vlc
    button = CONTEXT_MENU
    config = key-disc-menu
    end
    begin
    prog = vlc
    button = AUDIO
    config = key-audio-track
    end
    begin
    prog = vlc
    button = SUBTITLE
    config = key-subtitle-track
    end

    begin
    prog = Rhythmbox
    button = PLAY
    repeat = 1
    config = play
    end
    begin
    prog = Rhythmbox
    button = PAUSE
    repeat = 0
    config = pause
    end
    begin
    prog = Rhythmbox
    button = STOP
    repeat = 1
    config = stop
    end
    begin
    prog = Rhythmbox
    button = NEXT
    repeat = 1
    config = next
    end
    begin
    prog = Rhythmbox
    button = PREVIOUS
    repeat = 1
    config = previous
    end
    begin
    prog = Rhythmbox
    button = FORWARD
    repeat = 1
    config = seek_forward
    end
    begin
    prog = Rhythmbox
    button = REWIND
    repeat = 1
    config = seek_backward
    end
    begin
    prog = Rhythmbox
    button = BTN_TL
    repeat = 1
    config = volume_up
    end
    begin
    prog = Rhythmbox
    button = BTN_TL2
    repeat = 1
    config = volume_down
    end
    begin
    prog = Rhythmbox
    button = BTN_THUMBL
    repeat = 1
    config = mute
    end
    begin
    prog = Rhythmbox
    button = EJECTCD
    repeat = 1
    config = quit
    end


    Параметр «button» — это название кнопки из /etc/lirc/lircd.conf.gnome (регистрозависимое), параметр «config» — посылаемая в приложение команда. Принимаемые приложением команды можно посмотреть в справке:

    > vlc -H | awk '/--key/ {print "# "$1}'

    Подобным образом можно настроить и другие приложения.
    Поделиться публикацией

    Комментарии 11

      0
      мощный вы хотохостинг решили использовать. Как он красноречив от хабраэффекта.
        0
        охблин. щас на другой залью.
          +1
          Спрячьте топик в черновики, чтоб вам карму не слили и топик. Как поправите вернёте его.
        +1
        гм… немного не в тему, но я вот что подумал, почему бы все пульты не делать с блютусом? удобно ведь, теперь не надо наводить на приемник + если кто-то встал, то это вовсе не помеха. или может это стоит дороже? (ну полюбому не особо значимо). или же батарею жрет? может мне кто ответит?
          0
          это дороже на пару баксов я думаю, ну и батарейку значительно активнее потребляет. ИК-пульт работает, фактически, только в момент нажатия кнопок, а BT-пульт должен постоянно висеть спаренным с приемником.
            0
            точно, их же спаренно надо держать… но все равно удобно :) хоть через стенку )) допустим звук вырубить надо.
              0
              блин, но ведь с блютусом все равно ведь все лучше )))
                0
                да, намного удобнее.
                  0
                  видимо мне надо было поставить копирайт ) ©
          –2
          Забыл упомянуть красные глаза и литр водки.
            0
            У меня этот пульт засыпает все время и не просыпается по нажатию кнопки. Помогает только вытащить батарейки и вставить обратно.
            Вобщем, помучился и перешел на обычный ИК.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое