K napájení své arkádové skříně používám Raspberry Pi s Raspbianem. Chci vypnout Pi pomocí sudo poweroff příkaz bez použití klávesnice. Myslím, že nejlepším způsobem by bylo vytvořit jednoduchý skript, který by se nějak spouštěl kombinací vstupů tlačítek ovladače. Zdá se snadné svázat klávesnici se skriptem, ale není tak snadné místo toho použít vstup z joysticku.
Má někdo nějaké nápady?
UPRAVIT #1
 Joystick a tlačítka ovladače fungují dobře a zobrazují se pomocí jstest nástroj z jstest-gtk balíček a vše funguje dobře v Mame4all. xev jsem nezkoušel ale podívám se na to.
Přijatá odpověď:
xev
 Nevěřím, že můžete použít xev k detekci joysticků. Používám Fedoru 19 a existuje balíček nazvaný joystick který nainstaluje tento balíček, linuxconsoletools . Tento projekt je to, co hledáte.
projekt linuxconsole
Obsahuje řadu nástrojů pro připojení joysticků tak, aby jejich signály byly přijímány linuxovým jádrem.
výňatek z webu linuxconsole
Tento projekt spravuje nástroje Linux Console, které zahrnují nástroje pro testování a konfiguraci joysticků, připojení starších zařízení ke vstupnímu subsystému jádra (poskytování podpory pro sériové myši, dotykové obrazovky atd.) a testování vrstvy vstupních událostí.
Balíček obsahuje spustitelné soubory, jako jsou tyto
$ rpm -ql linuxconsoletools.x86_64
/usr/bin/ffcfstress
/usr/bin/ffmvforce
/usr/bin/ffset
/usr/bin/fftest
/usr/bin/inputattach
/usr/bin/jscal
/usr/bin/jscal-restore
/usr/bin/jscal-store
/usr/bin/jstest
/usr/libexec/joystick/extract
/usr/libexec/joystick/filter
/usr/libexec/joystick/ident
Ubuntu
 Nemám k dispozici instalaci Debianu, ale Ubuntu má také stejný balíček, joystick . Spusťte příkaz apt-file list joystick zobrazuje stejné soubory jako RPM, které jsem zmínil výše.
Co ještě?
Také bych doporučil podívat se na téma ArchLinux Wiki s názvem:Joystick. Je to pravděpodobně nejvyčerpávající zdroj na toto téma související s Linuxem.
Mapování joysticku na klávesnici
 Výše uvedené zprovozní váš joystick v Linuxu, ale nenabízí žádnou metodu pro mapování joysticku na skript, alespoň ne jednoduchým způsobem. Chcete-li něco takového provést, budete muset požádat o pomoc jinou aplikaci. Existuje jeden, který znám, a nazývá se jkeys .
 Chcete-li jej nainstalovat, musíte nejprve nainstalovat některé závislosti, python-xlib &python-pygame . Ty by měly být ve většině repozitářů distribucí.
 Chcete-li však nainstalovat jkeys budete si ho muset stáhnout z úložiště subversion projektu. POZNÁMKA: Je napsán v Pythonu.
$ svn checkout http://jkeys.googlecode.com/svn/trunk/ jkeys-read-only
Po stažení jej můžete spustit takto:
$ ./jkeys 
usage: jkeys joystick.conf application [params]
 Chcete-li namapovat klíč, budete si muset vytvořit svůj vlastní joystick.conf soubor:
<config>
    <joystick id="0">
        <axis number="0" low="Left" high="Right" />
        <axis number="1" low="Down" high="Up" />
        <button number="0" key="Space" />
        <button number="1" key="Return" />
        <button number="2" key="a" />
        <button number="3" key="b" />
        <button number="4" key="c" />
        <button number="5" key="d" />
        <button number="6" key="z" />
        <button number="7" key="x" />
        <button number="9" key="Escape" />
        <button number="10" key="p" />
    </joystick>
</config>
Nyní, když jste připraveni spustit hru, udělejte to takto:
$ ./jkeys joystick.py <somegame>
Přepsaná tlačítka joysticku odešlou do aplikace jakoukoli klávesu, kterou stisknete místo tlačítek joysticku.
Související:Vytvořit symbolický odkaz – přepsat, pokud existuje?QJoy
Další alternativou je použití aplikace QJoyPad. Nemohl jsem to otestovat, protože nemám joystick. GUI by mělo vypadat takto.
 
Z tohoto grafického uživatelského rozhraní můžete poměrně snadno mapovat stisknutí libovolného tlačítka na stisk klávesy.
A co spuštění skriptu?
S výše uvedenými metodami byste mohli využít další aplikaci nazvanou XBindKeys k mapování libovolného stisknutí klávesnice ke spuštění skutečného příkazu nebo skriptu.
POZNÁMKA: Můj příklad níže vytváří klávesovou zkratku, aby se Nautilus spustil s otevřenými určitými adresáři.
Příklad
 Nejprve se musíte ujistit, že balíčky xbindkeys je nainstalován.
 Poté budete muset spustit následující příkaz, pouze jednou, k vytvoření šablony xbindkeys konfigurační soubor.
$ xbindkeys --defaults > /home/saml/.xbindkeysrc
Vytvořený soubor můžete otevřít v textovém editoru a přidat pravidlo, jako je toto:
"nautilus --browser /home/saml/projects/path/to/some/dir"
  Mod4+shift + q
 S výše uvedenou změnou musíme zabít xbindkeys pokud již běží, a poté jej restartujte.
$ killall xbindkeys
$ xbindkeys
Nyní, když toto běží, kdykoli napíšu Mod +Shift +Q Nautilus se otevře s otevřenou odpovídající složkou.
Odkazy
- Jkeys – jednoduché mapování joysticku na klávesnici
- Zjistěte, zda bylo stisknuto tlačítko myši, a poté vyvolejte skript nebo příkaz
- XBindKeys