« MacBookでTeslaが動く!……誤謬と訂正 | トップページ | MacBookでTeslaが動く!……状況整理 »

2006.07.17

MacBookでTeslaが動く!……追加情報

MacBookというか、Intel MacでのTeslaのビルド&インストールですが、mixiの「親指シフト」コミュニティでakitamさんという方から以下のアドバイスをいただきました。わたくしの手順(とは言えないような単純な手順)ではうまく行かなかったので、ソースを若干修正してみたとのことです。転記して差し支えないとおっしゃってくださったので、こちらに転記しておきます。

MacBook(黒)を購入し、アップデートをかけ10.4.7の状態で、teslaをインストールしたところ、いくつか問題が出ましたが、暫定的に次の様にして動くコードを作りました。

(1) カーネルのライブラリのバージョンを合わせる。
kextのプロジェクトをビルドする時に、
Xcodeの「グループとファイル」にある◎ターゲットの下の◎Teslaをダブルクリックする。(Teslaが見えないときには◎ターゲットをクリック)
◎ブロジェクト"Tesla"のターゲット"Tesla"という一覧が出る。その左側のサマリーのInfo.plistのエントリーの詳細設定ビューをクリック
右にプロバティーリストが表示される。
プロバティリストのOSBundleLibrariesをクリックすると以下のプロパティと対応する値がでる。値をそれぞれ最新のものに変更する。
(ターミナルでkextstatを実行すると表示されます)
私のMacBook(10.4.7)では次の値です。
com.apple.iokit.IOHIDFamily 1.4.8
com.apple.kernel.bsd 7.9.9
com.apple.kernel.iokit 7.9.9
com.apple.kernel.libkern 7.9.9
com.apple.kernel.mach 7.9.9

(2) Undefined symbols(IOHIDSystem.stop(IOService))への対処
新しいバージョンでどのライブラリーにあるか不明でしたので、ヘッダーファイルを書き換えました。
スポットライトで(ヘッダーファイル)IOHIDSystem.hを探す。
kextのプロジェクトにコピーする。
(ヘッダーファイル内の)関数stopをコメントアウト
// virtual void stop(IOService * provider);
ちょっと乱暴だが次のinclude指定もコメントアウト
//#include "ev_keymap.h" /* For NX_NUM_SCANNED_SPECIALKEYS */

このヘッダファイル名を適当に変える(例えばIOHIDSystemFix.h)
Tesla.cppのヘッダーインクルードを先のファイルに変更する。
#define private public
//#include
#include "IOHIDSystemFix.h"
#undef private
-----
これでビルドすれば、とりあえず動くkextができます。
−−−−−
※このstop関数はMacOSX10.3.9.sdkのIOHIDSystem.hには存在せず、Mac10.4u.sdkに含まれています。
※IOHIDSystemのstopが含まれているライブラリーがあるのかもしれませんが探していません。
※とりあえず、stop()はTeslaのコードでは使われていないので、避けることで対処しました。
-----
他のインテルマックでも同様の手法で動くかもしれません。自己責任で挑戦してみてください。

|

« MacBookでTeslaが動く!……誤謬と訂正 | トップページ | MacBookでTeslaが動く!……状況整理 »

コメント

「Macと親指シフト」のサイトからこちらの情報を知り、ようやく自分のMacBook ProでもTeslaによる親指シフト入力ができるようになりました。苦労しただけに感動が大きかったです。
 ありがとうございました。

投稿: ICO | 2006.07.30 01:59

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/3920/10982493

この記事へのトラックバック一覧です: MacBookでTeslaが動く!……追加情報:

» Xcodeでプログラミング・・・ [WEBサイトのスクラップBLOG | DS-imaginaton]
インターネットライフ & WEB制作デビューが Mac だったので、 「やっぱりMacを使ってプログラミングしたい!」 と思い立ち、一番勉強しやすそうだった “MAMPではじめる Mac OS Xサーバーサイドプログラミング” という本を買いました。 でもその勉強もはじめて1日目で... [続きを読む]

受信: 2006.07.28 01:30

» MacBook Pro 17で使えた「親指シフト」 [ICOの秘密]
 ICOの秘密に書いてきたように、MacBook Pro 17で親指シフト入力を実現する方法がなかなか見つけられないでいました。  以前、Teslaという親指シフトエミュレータを試したことがありまし... [続きを読む]

受信: 2006.07.30 01:53

» インテルMacとtesla [読書日記]
 間抜けなことに、転んで右の手の平にちょっと深めに擦り傷を作ってしまい、しばし更新できず。擦り傷だからか、どうにも治りが遅く、未だに完治していないのだけれど、あともう少しで治りそう、というところまでたどり着いた。  その上、ついつい誘惑に負けて、MacBook Pro 15" 2GHzを購入。移行に手間取って(それでも、以前に比べたら随分楽になった)ますます更新が遅くなってしまった。  移行で最も... [続きを読む]

受信: 2006.09.18 15:58

« MacBookでTeslaが動く!……誤謬と訂正 | トップページ | MacBookでTeslaが動く!……状況整理 »