Deskbar Keymapper
Deskbar Keymapper はデスクバーにレプリカントで常駐し、簡単にキーマップ設定を変更することができるツールです。
使い方は、「Run Me to Place Replicant」をダブルクリックするとデスクバーにレプリカントが現れます。
レプリカントを右クリックするとインストールされているキーマップ一覧がすべて表示されます。
リストされたキーマップの内、ひとつを選択すれば、そのキーマップに即時に切り替わります。
Deskbar Keymapper は Deskbar Keymapper 自身を終了させる機能がありませんが、デスクバーをKillしたり、OSを再起動させた時に消えます。
もし、毎回 Keymapper を自動で起動させたい場合には「スタートアップ」フォルダに「Run Me to Place Replicant」のリンクを作成しておくか、「UserBootscript」に記述しておく必要があります。
Keymapper を ZETA で使用する場合は、配布されているバイナリでは実行することができません。
ソースコードをダウンロードして、includeするヘッダを編集する必要があります。
#include <be/sys_apps/Deskbar/Deskbar.h>
#include <be/interface/Bitmap.h>
#include <be/interface/PopUpMenu.h>
#include <be/interface/MenuItem.h>
#include <be/interface/Window.h>
#include <be/app/Application.h>
#include <be/storage/File.h>
#include <be/storage/Directory.h>
#include <be/storage/Resources.h>
#include <be/storage/Entry.h>
#include <be/add-ons/input_server/InputServerDevice.h>
#include <posix/unistd.h>
プロジェクトファイルの「Access Paths」も
/boot/develop/headers/be
/boot/develop/headers/cpp
/boot/develop/headers/posix
/boot/develop/lib
に修正します。
以上でビルドすることができるのですが、このままだとレプリカントのアイコンが真っ白な四角いアイコンになってしまいます。
修正するには、main.cp(オリジナルのLine:16)を
public:
MenuView(void) : BView(BRect(0,0,15,15),"key_map",B_FOLLOW_LEFT | B_FOLLOW_TOP,B_WILL_DRAW) {
bits = new BBitmap(BRect(0,0,15,15),B_CMAP8);
- size_t size;
+ size_t size = 1024;
if (be_app->AppResources()->HasResource('MICN',1024))
のようにします(momoziroさんに教えてもらいました)。
Keymapの設定は/boot/beos/etc/Keymapフォルダ内のファイルを/boot/home/config/settingsの「Key_map」というリンクファイル名で関連付けしているだけです。
このソースコードを使用すれば限定的ながら「timezone」設定や「develop」設定のクイック設定が可能でしょう。