「3D マウス」の版間の差分
(翻訳) |
|||
1行目: | 1行目: | ||
[[Category:マウス]] |
[[Category:マウス]] |
||
− | [[en:3D |
+ | [[en:3D Mouse]] |
超音波によって機能する 3D マウスはバットや空飛ぶマウス、あるいは杖とも呼ばれ、三次元的に自在に操作することができます。最もよく知られた製品として1990年代初頭に登場した 3DConnexion/Logitech の SpaceMouse などがあります。 |
超音波によって機能する 3D マウスはバットや空飛ぶマウス、あるいは杖とも呼ばれ、三次元的に自在に操作することができます。最もよく知られた製品として1990年代初頭に登場した 3DConnexion/Logitech の SpaceMouse などがあります。 |
||
2016年11月26日 (土) 02:15時点における版
超音波によって機能する 3D マウスはバットや空飛ぶマウス、あるいは杖とも呼ばれ、三次元的に自在に操作することができます。最もよく知られた製品として1990年代初頭に登場した 3DConnexion/Logitech の SpaceMouse などがあります。
詳しくは http://www.3dconnexion.com/products/what-is-a-3d-mouse.html を見てください。
プロプライエタリドライバー
3D マウスを USB 端子に接続してください。認識されているかどうか lsusb
を使ってチェックします:
$ lsusb
Bus 003 Device 002: ID 046d:c626 Logitech, Inc. 3Dconnexion Space Navigator 3D Mouse
openmotif をインストールしてください。もしくは lesstif が必要な場合、openmotif から libXm.so.4
ライブラリを抽出します:
# pacman -Sw openmotif # download openmotif to cache, do not install # tar xJOf /var/cache/pacman/pkg/openmotif-* usr/lib/libXm.so.4.0.3 > libXm.so.4 # mv libXm.so.4 /usr/lib/libXm.so.4
libXm.so.4
から libXm.so.3
にシンボリックリンクを張ります:
# ln -s /usr/lib/libXm.so.4 /usr/lib/libXm.so.3
ドライバーには /var/run/utmp
からユーザー名を取得できず "failed to get user" エラーを出力するという問題があります。
以下のプログラムをコンパイルしてください。ドライバーが読み込める方法で /var/run/utmp
にユーザー名を追加します。
3dmouse.c
/* source: http://forums.gentoo.org/viewtopic-t-609224.html * http://www.3dconnexion.com/forum/viewtopic.php?t=1039 */ #include <stdio.h> #include <string.h> #include <stdlib.h> #include <utmpx.h> int main(int argc, char ** argv) { if (argc != 2) { fprintf(stderr, "Need a name to put in the structure\n"); exit(1); } struct utmpx u; memset(&u, 0, sizeof(u)); u.ut_type = USER_PROCESS; u.ut_pid = getpid(); strcpy(u.ut_id, ":0"); strcpy(u.ut_line, ":0"); strcpy(u.ut_user, argv[1]); setutxent(); pututxline(&u); endutxent(); }
$ gcc 3dmouse.c -o 3dmouse # ./3dmouse root
次の URL から Linux ドライバーを /tmp
にダウンロードしてください: http://www.3dconnexion.com/service/drivers.html
インストールスクリプトを展開して実行してください:
$ tar xfz 3dxware-linux-v1-5-2.i386.tar.gz install-3dxunix.sh # ./install-3dxunix.sh Password: This installs 3DxWareUnix V1.5.2 on this machine. Continue? (y/n) [y] y Choose one of the following platforms: 1. HP-UX 2. Solaris 3. AIX 5 4. Linux 5. Exit Please enter your choice (1-5)[4]: 4 Installing files for 3DxWare for Unix / linux...... Uninstalling a running driver. Please wait ... Done. Converting default configs V5.x to V5.3. (User configs will be converted when used) Please wait a moment... Converting configs... found 27 configurations Configuration file Configuration name Version Status /etc/3DxWare/UGSNX2_01.scg ("UGS NX 2 config 01 ") 5.3 Ok. /etc/3DxWare/4DNav.scg ("4D Navigator ") 5.3 Ok. /etc/3DxWare/UGSNX5_02.scg ("UGS NX 5 config 02 ") 5.3 Ok. /etc/3DxWare/CatiaV5_02.scg ("CATIA V5 config 02 ") 5.3 Ok. /etc/3DxWare/Maya2011.scg ("Maya 2011 ") 5.3 Ok. /etc/3DxWare/CatiaV4_01.scg ("CATIA V4 ") 5.3 Ok. /etc/3DxWare/Patran_01.scg ("Patran ") 5.3 Ok. /etc/3DxWare/UGSNX4_01.scg ("UGS NX 4 config 01 ") 5.3 Ok. /etc/3DxWare/Pr(...)ire_02.scg ("ProE Wildfire config 02 ") 5.3 Ok. /etc/3DxWare/Pr(...)ire_01.scg ("ProE Wildfire config 01 ") 5.3 Ok. /etc/3DxWare/UGSNX2_02.scg ("UGS NX 2 config 02 ") 5.3 Ok. /etc/3DxWare/CatiaV5_03.scg ("CATIA V5 config 03 ") 5.3 Ok. /etc/3DxWare/UGSNX3_02.scg ("UGS NX 3 config 02 ") 5.3 Ok. /etc/3DxWare/default_10.scg ("Driver Protocol 1.0 ") 5.3 Ok. /etc/3DxWare/CADDS_R14.scg ("CADDS5 R14 + ") 5.3 Ok. /etc/3DxWare/CatiaV5_01.scg ("CATIA V5 config 01 ") 5.3 Ok. /etc/3DxWare/DMUNav.scg ("DMU Navigator ") 5.3 Ok. /etc/3DxWare/UGSNX4_02.scg ("UGS NX 4 config 02 ") 5.3 Ok. /etc/3DxWare/Enovia_VPM.scg ("Enovia VPM ") 5.3 Ok. /etc/3DxWare/UGSNX5_01.scg ("UGS NX 5 config 01 ") 5.3 Ok. /etc/3DxWare/ICEM_MED.scg ("ICEM MED ") 5.3 Ok. /etc/3DxWare/CADDS_R13.scg ("CADDS5 -R13 ") 5.3 Ok. /etc/3DxWare/DVise.scg ("DVise ") 5.3 Ok. /etc/3DxWare/Op(...)alizer.scg ("Optegra Visualizer ") 5.3 Ok. /etc/3DxWare/UGSNX3_01.scg ("UGS NX 3 config 01 ") 5.3 Ok. /etc/3DxWare/IDEAS_01.scg ("IDEAS ") 5.3 Ok. /etc/3DxWare/default.scg ("Any Application ") 5.3 Ok. Done. Do you want 3DxWareUnix being started with every login (from the /etc/inittab)? (y/n) [y] n Please start the driver manually. [/etc/3DxWare/daemon/3dxsrv -d <port>] **************************************************************** For testing purposes you can find the demos xcube and xvalues at /tmp ****************************************************************
以下のコマンドを実行することでドライバーを手動で起動できます (USB 版):
# /etc/3DxWare/daemon/3dxsrv -d USB
これで Arch Linux で 3D マウスが動作するはずです。ドライバーのアーカイブからデモを解凍してテストできます:
$ tar xfz 3dxware-linux-v1-5-2.i386.tar.gz xcube $ ./xcube
オープンソースドライバー
spacenav プロジェクトによってメンテナンスされている 3Dconnexion デバイスのオープンソースドライバーも存在します。残念ながら対応しているアプリケーションはごく限られています。spacenav ドライバーをサポートしている著明なソフトウェアとしては 3D 作成スイートの Blender が唯一です。オープンソースドライバーを使用するには以下の条件を満たす必要があります:
- デバイスがカーネルによって入力デバイスとして認識されていること。
- spacenavd デーモンを動作させること。
- spacenav のサポートを有効にしてアプリケーションをコンパイルすること (公式リポジトリの blender はサポートが有効になっていません)。
最初の要件はデバイスを接続すれば自動的にクリアです。/proc/bus/input/devices
内のデバイスを見ることで確認できます:
$ grep 3Dconnexion /proc/bus/input/devices N: Name="3Dconnexion SpaceNavigator"
2番目の要件を満たすには AUR から libspnav と spacenavdAUR をインストールしてください。テストとしてフォアグラウンドモードでデーモンを起動してみると良いでしょう。以下のように出力されるはずです:
# spacenavd -v -d Spacenav daemon 0.5 Device detection, parsing /proc/bus/input/devices using device: /dev/input/event21 device name: 3Dconnexion SpaceNavigator trying to open X11 display ":0" XAUTHORITY=/home/user/.Xauthority
CTRL-C を押すことでデーモンを終了できます。バックグラウンドでは systemd で spacenavd.service
を使うことで起動できます。
後は対応アプリケーションさえあれば 3D マウスを使うことができます。
残念ながら公式リポジトリの blender パッケージは spacenav のサポートが有効になっていません。libspnav をインストールしてから ABS から Blender をビルドすることで NDOF(=spacenav) のサポートが自動的に有効になってビルドが行われます。
ビルドした Blender をインストールしたら 3D マウスを試してみてください:
$ blender ndof: using SpaceNavigator