2013年1月14日月曜日

Ubuntu 12.04 で ゲームパッドを使って Minecraft

Ubuntu 12.04 で PS2 用コントローラなどのゲームパッドを使って Minecraft を操作するためのメモ。
前提として、ゲームパッドは Ubuntu 上で認識されているとする。

Minecraft のインストール

まずはマインクラフト自体を動かす。

まず、下記を参考に Java をインストールする。

 次に、マインクラフトをダウンロードしてきて、例えば下記のコマンドで起動してみる。よくわからない人はまずダウンロードしてきたマインクラフトをホームフォルダに移動した方が楽かも。

XMODIFIERS= padsp java -Xms1024M -Xmx1024M -Djava.net.preferIPv4Stack=true -jar minecraft.jar

エラーが出た場合、下記を参照。

 インストールしたJavaのバージョンなどによって違うが、自分の場合は下記のようにコマンドを入力してみると、

java -version

java version "1.7.0_10"

となり、バージョンが"1.7.0_10"で、その場合、Ubuntu が32ビットの場合は下記、

export LD_LIBRARY_PATH="/usr/lib/jvm/java-7-oracle/jre/lib/i386/"

64bit 版の場合は下記、

export LD_LIBRARY_PATH="/usr/lib/jvm/java-7-oracle/jre/lib/amd64/" 

と入力したらうまくいった。(これだとPCを再起動する度に入力しないといけないけど、常に有効にしたときにどこかで影響出るかもしれないからとりあえずこれで様子見。)

たぶんここまででマインクラフト自体は起動できるはず。

その他の参考URL:

ゲームパッドの設定

次にゲームパッドの設定。これがまた時間かかった。

joystick のインストール

まず、 joystick をインストール。(インストールしなくても良かったかもしれない。ちなみに xserver-xorg-input-joystick だと設定の仕方がわからず、設定を切れなかった。)

sudo apt-get install joystick 

QJoyPad のインストールと起動、設定

次に、QJoyPad をインストール。

sudo add-apt-repository ppa:ikoinoba/ppa
sudo apt-get update
sudo apt-get install qjoypad

このソフトでゲームパッドの入力をキーボードやマウスの入力に変換する。

ちなみに、下記によると QJoyPad を Ubuntu 12.04 上で起動するときは端末(ターミナル?)からオプションをつけて起動しないとウインドウが出ないらしい。

To access the profile menu under Unity you will need to execute qjoypad with the -notray option.

下記のように、オプションをつけて端末から起動する。

qjoypad -notray 

設定方法は、楽な方法は、

  1. 「Quick Set」を押す
  2. ウインドウが出たら、設定したいゲームパッドのボタンを押す
  3. さらにウインドウが出たら、割り当てたいキーボードやマウスのボタンを押す
  4. 2と3を繰り返す
  5. 終わったら「Done」を押す。 

試した感じ、 上記3.でウインドウにフォーカスが行かない時があり、そのときは設定できないので、ウインドウの上部のバーを押してアクティブにしてからキーボードとかを押すといいかも。

マウスホイールの設定(2013年5月追記、コメントも参照して下さい)

で、マウスのホイールはどうするかというとしばらくわからなかったが、下記がヒット。xbindkeys を使う。

  • Using a joystick with Minecraft | Forum | phpacademy (←2013年5月現在リンク切れ。コメントにキャッシュ有りと書いたけど、キャッシュももう無いかも。画像ありで説明があったんだけど、どうしたものか…。)

まずインストール。

sudo apt-get install xbindkeys xbindkeys-config 

 

(書くの力尽きたので気になったことだけ…。)

sudo apt-get install xautomation

  • xbindkeys の無効化の方法がわからなかったが、上記ファイルメニューから「New file」を選び、空の設定ファイルを作り、Apply すると一応設定が消える。マインクラフトしない時や、QJoyPad の設定をするときは設定を消しておいたほうがいい(QJoyPad はマウスのスクロールを認識してくれないため。)
  • QJoyPad の設定をゲームパッドを使って確認したい時は、どこかのウインドウとかを一度マウスとかでクリックしてみたり、上部の「Update」を押してみたりするといいかも。
  • マインクラフト起動中、ゲームパッドのボタン(かキーボード?)が押しっぱなしの状態になることがあったが、QJoyPad の「Update」を押すと直る。

次回以降の起動方法

PCを再起動してゲームパッドでマインクラフトやりたい時は、

  1. 下記コマンドで QJoyPad を起動
    qjoypad -notray
  2. 下記コマンドで xbindkeys-config を起動し、設定を読み込んで Apply
    xbindkeys-config
  3. 下記コマンドでマインクラフトを起動。
    XMODIFIERS= padsp java -Xms1024M -Xmx1024M -Djava.net.preferIPv4Stack=true -jar minecraft.jar
  4. 終わるときは、xbindkeys-config で空の設定を読み込んで Apply し、設定を消しておく。

その他参考URL:

ゲームパッドの操作感がいまいちな感じがするので QJoyPad の設定はもう少し調整したほうがいいかもしれないけど、マインクラフトの動作自体はWindows の時と比べて軽い気がする。 Windows だと余計なものがいろいろ起動してるからっていうのもあるかもしれないけど。

 

追記:コントローラの十字キーが頻繁に押しっぱなしになってしまう。 QjoyPad の「Update」を頻繁に押さないといけないのでめんどくさい…。 

追記:反対方向の十字キーをダブルクリックしても直る。

追記:記事を少し更新。

 

5 件のコメント:

  1. 突然失礼します。こちらを参考にubuntuでゲームパッドへの割り当てをしました。大変参考になりました。ありがとうございました。

    ですが、xbindkeysでのスクロールの設定方法がわかりませんでした。調べてみてもスクロールさせるようなコマンドを見つけられませんでした。
    お手数かと思いますが、スクロールの設定方法を教えていただきたいです。お願いします。

    返信削除
  2. 返信に時間がかかってしまい申し訳ありませんが、コメントありがとうございます。(もう見てないですかね…?)

    xbindkeys の設定ですが、記事中にあるリンク(英語サイト)に書いてあります…と思ったらリンク切れになってますね。
    一応キャッシュではまだ見れるみたいです。

    "Using a joystick with Minecraft"
    でググってキャッシュを見てみて下さい。引用符も含めてググって下さい。
    真ん中くらいの「 Now comes the tricky part...」から始まるところから xbindkeys について書かれています。

    手順を補足してざっと説明すると、まず xbindkeys の他に、xte をインストールします。
    その後、下記コマンドを実行し、起動します。
    xbindkeys --defaults > ~/.xbindkeysrc
    xbindkeys-config

    (始めからある設定は Delete しておいたほうがいいかもしれないです。)
    リンク先の記事中では「*」キーと「/」キーにマウススクロールを割り当てています。
    ウインドウ下の「New」を押し、「Action」に、
    xte 'mouseclick 4'
    とコピペし、「GetKey」ボタンを押して「*」キーを押して下さい。(たしかこれが上スクロール。)
    同様に、「New」を押し、「Action」に、
    xte 'mouseclick 5'
    とコピペし、「GetKey」ボタンを押して「/」キーを押して下さい。(たしかこれが下スクロール。)
    (その後、Apply とか Save とか押した方がいいのかな?)

    その後、QjoyPad で「*」と「/」キーを設定します。

    うろ覚えな部分もあって申し訳ないですが、もしわからなければまたコメント下さい!

    返信削除
    返信
    1. 返信有難うございます。
      どうやらxteと入力しないでmouseclick4などとしていたのが悪かったようです。
      これでゲームパッドでも快適にminecraftをすることができそうです。ありがとうございました。

      削除
    2. なるほど、解決したようで良かったです!

      削除
  3. とても参考になりました!
    当方、Xubuntu 13.04 で行いましたが、
    xbindkeysなしで、マウスホイールもわりあてることができました。

    qjoypad設定ダイアログのQuick Setにて、
    ボタンをわりあてるところで、マウスホイールを行ったところ、
    Mouse 4(上), Mouse 5(下)として認識されました。

    参考になれば。

    返信削除