Записи в категории ‘Debian’
Управление рабочим столом с помощью Wii Remote
Вчера я стал счастливым обладателем игровой видеоприставки Nintendo Wii. Так как при этом я являюсь счастливым обладателем компьютера с Debian GNU/Linux, то мне конечно же захотелось сделать так же, как на этом видео-ролике
Вот что для этого необходимо:
- Wii Remote (сама приставка не нужна!)
- Debian GNU/Linux 4.0 (другой дистрибутив тоже подойдёт, но инструкции я привожу именно для Debian)
- Две свечки (это такие штуки из воска, которые создают романтическую атмосферу). Они нужны в качестве источника IR излучения.
Нужно установить некоторые пакеты:
sudo aptitude bluez-utils python-bluez python-xlib
- Скачать “драйвер” для Wii Remote отсюда (есть SVN-репозитарий – https://svn.forthewiin.org/wmd/trunk). На самом деле это никакой не драйвер, т.к. с ядром он не взаимодействует. Это просто Python скрипт для обработки сигналов с Wii Remote
- “Пропатчить” файл /usr/share/python-support/python-xlib/Xlib/protocol/display.py (из
пакета python-xlib). В нём нужно заменить:
recv = self.socket.recv(4096)
на
recv = self.socket.recv(2048)
Возможно, этот шаг можно пропустить. Я не знаю точно, для чего это нужно
-
Выполнить команды:
sudo modprobe uinput sudo chmod a+rwx /dev/input/uinput
Без этого кнопки на Wiimote не работали.
-
Теперь нужно определить адрес вашего Wiimote. Нажимаем одновременно кнопки 1 и 2 на Wiimote, при этом он на 30 секунд переходит в режим discovery. Выполняем команду:
andrey@cornelius:~$ hcitool scan Scanning ... 00:19:1D:73:30:69 Nintendo RVL-CNT-01
Среди найденных устройств должен появится и Wiimote. В моём случае его адрес 00:19:1D:73:30:69
- Прописываем этот адрес в wmd/Config.py (параметр MY_WIIMOTE_ADDR)
- В том же файле отключаем ненужные модули:
'DISABLE_PYLAB': 1, 'DISABLE_PYGAME': 1, 'DISABLE_PYOSD': 1,
- Зажигаем свечки и ставим их перед монитором на расстоянии 20-25 см. друг от друга
- Нажимаем одновременно кнопки 1 и 2 и запускаем WMD.py
- Если повезёт так же как мне, то будет работать
- Хвастаемся перед друзьями
Удачи!
Играем в приставочные игры под Linux
Лет десять назад (а может и больше), я с друзьями почти каждый день ходил к одному нашему однокласснику, у которого была игровая приставка Super Nintendo. Мы проводили часы пытаясь освоить многочисленные варианты combo-ударов в лучшем файтинге всех времён (по версии Cornelius Magazine) – Killer Instinct.
Оказывается, ощутить “инстинкт убийцы” можно и без помощи игровой консоли. Для этого нужно воспользоваться одной из приведённых ниже команд:
sudo ps -eo pid h | xargs kill -kill
(не рекомендуется)sudo aptitude install snes9x-x
(рекомендуется)
Я воспользовался вторым вариантом и получил в своё распоряжение эмулятор игровой консоли Super Nintendo. Осталось только найти образ нужной игрушки (ROM). Для этого можно погуглить словом “rom”+название_игры. В случае с Killer Instinct нужный образ нашёлся очень быстро. Это оказался файл с расширением .smc размером ~4Mb.
Запускается игра так:
snes9x /path/to/rom
Чтобы полностью погрузится в приставочную атмосферу и я решил воспользовался USB Gamepad’ом фирмы Genius. Чтобы заставить его работать, я установил следущие пакеты:
sudo aptitude install joystick xserver-xorg-input-joystick
Теперь при подключении геймпада должно появиться устройство /dev/input/js0
Тут у меня возникла проблема: работали только кнопки, перемещение не работало. Поэтому я сделал следующее:
jscal /dev/input/js0
Эта программа попросила переместить джойстик в определённые положения по осям X/Y и таким образом откалибровала его (где при этом сохраняются настройки, я не понял). После этого перемещение заработало.
Чтобы играть с джойстиком, запускать игру нужно так:
snes9x -joydev1 /dev/input/js0 /path/to/rom
Второй джойстик можно подцепить через опцию -joydev2
← Обратно к настоящему |