« 2008年3月 | トップページ | 2008年6月 »

2008年4月

2008年4月20日 (日)

Macと外付けテンキー

前回Canonの電卓付きテンキーのLS-12TKIIIをMac OS Xで使用できるようにしてみましたが、今回はMac OS 9.xで使用できるようにしました。
全角入力されなくする方法などもありますので、Canonの電卓付きだけでなく色々なテンキーに使用できると思います。
ダウンロードはこちらからどうぞ。

久しぶりにtuukbdをバージョンアップしたわけですが、またもや第2ドライブのイジェクト対応の事を忘れてしまっていました orz
そもそもどれくらいのMac OS 9ユーザが残っているか分かりませんが……

2008年4月13日 (日)

Canonの電卓付きテンキーをMac OS Xにて使用可能とするソフトを作りました

CanonのLS-12TKIIIというのを貰いました。
電卓機能付きのUSBテンキーですね。私は元々そんなにテンキーを必要としないので、話しのネタくらいの感じです (^^;
で、Windows機に取り付けて正常動作するのを確認した後Macに取り付けてみたのですが、MacではOS9/OSX共に動作しませんでした。

デバイス情報からは一般的なキーパッドの様な感じでしたので、LED辺りを操作してやれば動くのでは?と試してみた所、接続時にNumLock LEDをONするコードを送ってやれば良い様です。

と言う訳で、またもやKeyRemap4MacBookをベースにタイトルのソフトを作ってみました。

ここで良く分からない問題が!
KeyRemap4MacBookをベースとしたソフトを2個(例えばSetKeyboardLEDとDentakuTenkey)インストールするとハングしますね。
セーフブートしてどちらかを削除しないと何もできなくなります orz

あと、Canon LS-12TKIIIでしか試していないので他のCanonのテンキーで動くかは不明ですし、Canon以外で動くかも不明です。

ダウンロードページへのリンクを忘れていました (^^;
ここからどうぞ。

--
2008.05.01 02:34 ダウンロードページへのリンクを追加

2008年4月 9日 (水)

Apple KeyboardのCaps Lockの遅延問題への対症療法的対策ソフト その4

アルミキーボードのファームウェアがアップデートされた様です。
Mac OS X 10.5.2にて遅延問題が解決していました。なので、10.5.2以降ではSetKeyboardLEDが不要となりました。
 Aluminum Keyboard Update

このアップデータのSystem RequirementsがMac OS X 10.5.2となっていてTiger以下やWindowsが置いてけぼりになってます。
そして不思議な事にTigerやWindowsでは遅延問題が残ったままでした。
このアップデータはキーボード側をアップデートしているはずなのにOSを選ぶというのが意味不明ですね。

2008年4月 3日 (木)

Apple KeyboardのCaps Lockの遅延問題への対症療法的対策ソフト その3

ありがたい事にどなたかがアメリカのディスカッションボードに拙作の対策ソフトの事を書き込んでくれまして、ほんの少しですがダウンロードページにアクセスがあるようです。

とは言え、キー入力イベント処理の関数でCaps LockがONからOFFになった時を検知してCaps LockのLEDを再度点灯させているだけという凄く簡単な処理なので少々こっ恥ずかしいです (^^;
実際核となる部分はログ表示含めても10行しかありませんです。

具体的にはremapAndDoEvent()の下記の部分となりますが、_keyboardEventActionをフックしているプログラムなら同様の事が可能です。
// ここから
    if(*flags & KeyCode::CAPSLOCK_FLAG){
        if(!p->caps){
            IOLog("SetKeyboardLED::remapAndDoEvent CAPS:on\n");
            p->caps = true;
        }
    }else if(p->caps){
        IOLog("SetKeyboardLED::remapAndDoEvent CAPS:off\n");
        p->kbd->setAlphaLockFeedback(true);     // set caps lock LED
        p->caps = false;
    }
// ここまで

海外では現在DoubleCommandが有名なんでしょうか?sourceforgeにあるソースを見てみました。
DoubleCommand.cppのevent()にてキー入力イベントを処理していますので、下記のように追加すれば良い様な気がします。
    int i = find_client(false);
    if (i >= 0)
    {
// ここから
        if(flags & 0x010000/*KeyCode::CAPSLOCK_FLAG*/){
            if(!Keyboards[i].caps){
                IOLog("DoubleCommand: CAPS:on\n");
                Keyboards[i].caps = true;
            }
        }else if(Keyboards[i].caps){
            IOLog("DoubleCommand: CAPS:off\n");
            Keyboards[i].keyboard->setAlphaLockFeedback(true);      // set caps lock LED
            Keyboards[i].caps = false;
        }
// ここまで
        GcharCode = charCode;
  :

capsはboolでdc_keyboard構造体に追加が必要です。
これだけですと、初期化時にLEDがONせず一度Caps Lockに入れなければならなくなるため、SetKeyboardLEDでは初期化時にcapsをtrueに設定したりLEDをONしたりもしています。

と言う事をディスカッションボードに書こうかと思いましたが、とてもじゃないですが英語に訳せないので諦めました、ごめんなさい m(_ _)m

« 2008年3月 | トップページ | 2008年6月 »

最近のトラックバック