BeOS関連ツール

English version

最終更新: 2002.3.8

BeOS R4/R4.5/R5 x86関連のツールです。 すべてフリーソフトまたはパブリックドメイン、ソースつきです(バイナリパッチなど原理的にソース添付不可能なものを除く)。 ほとんどのものはBeBitsに登録してあります。 性質上、BeOSのリリースに強く依存するものが多いので、対象リリースに注意してください。 なお特記なき限りR4.5はR4.5.1/R4.5.2を含みます。またR5はR5.0.1/R5.0.2/R5.0.3を含みます。

開発は終了しました。 今後の活動は、手持ちの未公開コードの整理や、Dano対応のメンテナンスなどに限定します。

名称環境 BeBits#キーワード
R4R4.5R5DanoPPC
一般向け
PCカードウィザード
OO?
601hardware, PC Card, notebook
APMドライバ UOOO
597driver, notebook
BeWrite OOO?
769installation, notebook
USBジョイスティックドライバ

OO
1688driver, USB
キーボードドライバパッチ
OOOO 630driver, keyboard
国別キーマップパック ?OOOO 698hardware, keyboard, i18n/l10n
NetPositive-CJK
OOOO 1329network, i18n/l10n
特定ハードウェア向け
BeSavage+
?OO
2787driver, graphics
D-Link DFE-538TX/530TX+パッチ

OO
2067driver, network
MX987xxパッチ

OO
1956driver, network
YMF724ドライバパッチ
OO

599driver, audio
Adaptecドライバパッチ
OO

596driver, SCSI
DEC LK411キーマップ
?O?
2064hardware, keyboard
スキャンコードセット3マッピングテーブル
?O?
1706hardware, keyboard
開発者向け
USBマスストレージドライバ

O

1596driver, USB
ジョイスティックドライバサンプルソース ??O?
1609driver, development
物理メモリドライバ OO??O 604driver, development
MACアドレス取得 UUO
O 644hardware, network
XPGメッセージカタログライブラリ OO??
605development, i18n/l10n
お役御免
PCカードイネーブラー OU


N/Adriver, PC Card, notebook
ATA PCカードドライバ
O


595driver, PC Card, notebook
PCカードデータベース
O


N/Ahardware, PC Card, notebook
O: 動作
?: 未テスト
動く可能性がありますがテストしていません。
U: サポート外
多少工夫すれば動きますがサポート外です。
空欄: 不動作または対象外

BeSavage+

環境: R5/Dano x86

S3 SavageチップとVIA ProSavageチップ用のビデオドライバです。 BeBitsにあるBeSavageを多少修正したものです。 KL133 (Asus A7VL-VM)で動作確認していますが、動かないという報告もあります。

BeSavage+ 2002-05-27 (英語ドキュメント)

Be-IN掲示板でBeSavageをProSavageに対応させた方がいらしたので、 作者に連絡してマージしてもらおうとしたのですが、連絡がとれません。 そこでとりあえずこちらでパッケージングし直して公開しました。 KL133/PL133/KN133/KM266で動作確認がとれています。 しかし、BeBitsでは動かないという声が多くて意外です。


D-Link DFE-538TX/530TX+パッチ

環境: R5 x86

BeOS標準のrtl8139ドライバにパッチをあてて、D-Link DFE-538TXを動作可能にします。 DFE-530TX+(DFE-530TXにあらず)でも動くようです。 あらかじめR5.0.1以降にアップグレードしてrtl8139ドライバをインストールしておく必要があります。 作者は動作確認していませんが、動作報告を得ています。 なお、Network preferenceにはRealtek 8139 10/100 PCIと表示されます。

カードのリビジョンによってはこのパッチをあてなくても認識されるものがあるようです。その場合このパッチは動作に影響しません。

D-Link DFE-538TX/530TX+パッチ 1.00

DFE-538TXが動かないという声があったので調べてみたところ、 RTL8139を使っているにもかかわらず独自のベンダーIDとプロダクトIDをもっていることが判明しました。 というわけで(以下略)。


MX987xxパッチ

環境: R5 x86

BeOS標準のtulipドライバにパッチをあてて、 MacronixのMX987xxチップを使ったネットワークアダプタを動作可能にします。 対象となるのは、MX98713/98715/98725/98723/98727です。 該当する製品は以下のようなものがあります。

作者はLGY-PCI-TXLで動作確認しました。 ただし、長期間に渡ってテストしたわけではないので、不具合があるかもしれません。 なお、Network preferenceにはDEC 21040/21041 based PCIと表示されます。

MX987xxパッチ 1.00 for R5 / for BONE/Dano

Macronix MX98715は安価なLANカードでよく使われています。 これはTulipと互換なのですが、BeOSのtulipドライバでは認識しません。 というわけで(以下略)。 ちなみにADMtek AN983 (Centaur-P)はだめでした。AL981 (Comet)もだめかも。 Davicom DM9102は純正ドライバがあります。

PowerPC版でもパッチを作れば動かせる可能性がありますが、 mwdisが役に立たないので、解析して安全なパッチを作ることが少々困難です。


USBマスストレージドライバ

環境: R5 x86

このドライバは極めて実験的かつ未完成なものであり、 USB FDD以外のデバイスでは正常に動作しない可能性がかなりあります。

USBマスストレージドライバ 0.12 (ドキュメント)

同僚がVAIO C1とUSB FDDを買ったのを機に、 今後のノートPCでは外付けFDDやCD-ROMもUSBが主流になるだろうということで作り始めました。 ちゃんと動けば非常に汎用性の高いものになるはずです。 が、R5のUSBDのバグにぶつかったため作業を凍結し、開発者向けに試験公開して反応を見ることにしました。 いくつか報告がきてますが、USB FDDですらまだ動作事例がなくてなかなか厳しいものがあります。

あと、これは素直にstorage driverとして実装してますが、 USB mass storageってのは要するにUSB-SCSIブリッジなので、 Linuxや*BSDみたいにSCSI CAMドライバとして実装する手もあります。 これだとメディア交換検出とか非512バイト/セクタ対応とか厄介な処理は上に任せて、 しかもSCSIのアプリ(CD-R関係とかスキャナ関係とか)がそのまま使える(はず)というメリットがあります。

Danoでは純正のUSB SCSI CAMドライバが付属しています。 当方では動作できていませんが、メモリカードリーダーなどの動作事例があるようです。


ジョイスティックドライバサンプルソース

環境: R5 x86 (多分R4/R4.5も可)

ジョイスティックドライバのサンプルソースコードとしてIF-SEGAのドライバを公開します。 BeOSのジョイスティックドライバを参照してください。 IF-SEGAの実用用途には、たるくす氏のドライバをお勧めします。

ジョイスティックドライバサンプルソース

IF-SEGAを動かしてみようと思い立ち、IF-SEGAの制御自体はできたのですが、 ジョイスティックドライバのフレームワークが公開されてないので、 正規の方法でOSに認識させることができないまま放置していました。 最近また調べ直したところ、そこそこわかってきたので、 ドキュメントを書いてサンプルとして配布することにしました。


USBジョイスティックドライバ

環境: R5 x86

USBゲームコントローラ(ジョイスティック・ゲームパッドなど)のドライバです。

USBジョイスティックドライバ 0.50 (ドキュメント)

ハードウェア互換性リスト (英語)

USBジョイスティックのドライバは複数の人が挑戦しているようだったので、 ジョイスティックドライバのドキュメントを公開して誰か作ってくれるのを待っていたのですが、 出てくる様子がなかったので自分で書いてしまいました。 一応汎用に作ってあるため大抵の製品は使えるはずですが、 実際には認識されない製品も意外とあるようです。 またHIDレポートデスクリプタの記述もさまざまで対応がなかなか大変です。 当初予定していたレベルにはだいたい達しました。


PCカードイネーブラー

環境: R4 x86 (R4.5では不要、R5不可)

ノートマシンなどPCカードスロットを持つシステムで、 モデムカードやEthernetカード(NE2000互換・EtherLink III)を使用可能にします。 なお、R4.5ではOS標準でNE2000互換Ethernetカードおよびモデムカードのサポートを提供していますので不要です。また、R5では動きません。 以下のような場合に使ってください。

EtherLink IIIを使うには、3C509ドライバと、 これにパッチをあてるためのpatchコマンドが必要です。 ただし、現在、上記3C509ドライバの配布は中止されています。 別の3C509ドライバのパッケージもありますが、テストしていません。

PCカードイネーブラー β1 (ドキュメント)

ハードウェア互換性リスト (英語)

BeWriteAPMドライバと並ぶR4時代の代表作です。 当時はまだPCカードが全然サポートされてなく、 Be The Edgeの掲示板でこれをなんとかしようという話になりました。 とはいえ完全なPCカードのフレームワークを作るのは大事業なので、 とりあえずISAのドライバがあるもの(シリアル、NE2000、3C509)については コンフィギュレーションだけしてやればISAのドライバが使えるだろうということで、 手動でイネーブルするだけのものを作ってみました。 こういう原始的な手段も通用するところが16ビットPCカードの強みです。 決して使いやすいとはいえませんが、動作事例も数多く集まり、 かなり好評を博しました。 私の作品にしては珍しく(ぉ)自分でも毎日使っていました。 RPLのトリックに頼っていた頃が遠い昔のようです。 R4.5でPCカードサポートが導入され、役目を終えました。


BeWrite

環境: R4/R4.5/R5 x86, DOS/Windows 95/98

CD-ROMドライブ内蔵でないノートマシンなど、 通常のインストール手順でBeOS(R4/R4.5/R5 x86)をインストールできないマシン用のインストーラーです。 DOSまたはWindows上で、BeOS CD-ROMのx86用BFSトラックをHDDのBFSパーティションに直接ベタでコピーします。 2.00ではイメージファイルの読み書きをサポートし、ノート用CD-ROMドライブがなくても利用可能になりました。 R5(PE,Pro)にも使えますが、R5では無理してCD-ROMからインストールしなくても Personal Editionが容易にインストールできますので、あまり必要ないでしょう。

BeWrite 2.00 for DOS/Windows (LHA自己解凍書庫) (ドキュメント)

ノート用の代表作の一つです。 R4当時ノートにインストールするのは一苦労だったのですが、 BeOSのCD-ROMはISO 9660を使わずにMacOSみたいに ネイティブのファイルシステムをそのまま焼いてあるので、 じゃあ他の環境でこれをそのままHDDにコピーすれば動くのでは? という思いつきだけで始めました。 とはいえWindowsアプリは書けないので(弱)、 DOS用ということで今さらMSCDEXファンクションを使うはめになりました。 WindowsのDOS窓でサポートされてたのが幸いです。 やってみると、実はHDDとCDではブートレコードがちょっと違うらしく、 makebootableを使う必要がありましたが、基本的にはOKでした。 今ではR5PEがCD-ROMなしでインストールできるようになったのでお役御免です。 ちなみにBeWriteというのはrawriteをヒントにつけたのですが、 今思うとMacWriteとかWin3.1のライト(古)みたいなものを想像しそうで、 あんまりいい名前ではないですね。


APMドライバ

環境: R4.5/R5 x86

ノートPCやATXマシンで、電源オフ・電源状況取得などを可能にします。 1.00ではインストーラーを添付し、スタンバイ・サスペンドなどをサポート外としました。

APMドライバ 1.00a (ドキュメント)

ノート用の代表作の一つです。 もともとはサスペンドがしたくて作り始めたのですが、 ちゃんとレジュームするには各デバイスドライバが対応してないといけないらしいことがわかって実現には至りませんでした。 そういう意味では失敗したプロジェクトですが、 ATXマシンも含めて電源が切れるというだけでもかなり好評だったのは意外でした。 また、APIを用意したので、暴威さんがBatteryViewを作ってくださいました。 R5PEの登場以降、BeOSをノートで使うというのも珍しくなくなりましたが、 サスペンドやハイバネーションができないことには持ち運びに不便ですので、 OSでちゃんとサポートしてほしかったところです。

それにしてもAPM BIOSの癖やバグには悩まされました。 これについてはbsd-nomads MLのアーカイブにある先人の苦労をかなり参考にさせていただき、 解説も書きました。 聞くところによると、最近WindowsがAPMを切り捨てにかかっているため、 最近のノートではまたぞろAPMの実装がダメなものが現れているそうです。やれやれ。


ATA PCカードドライバ

環境: R4.5 x86 (R5不可)

BeOS R4.5で、ATA(ATAPI) PCカードを使用可能にします。 ノートPCで外づけATAPI CD-ROMドライブからBeOSをインストール(あるいはデモCDを起動)できるようになります。 また、制限つきながら、ATAフラッシュカードやATAPI CD-ROMなど各種のATA(ATAPI)カードが使えます。

R5では動きません。R5では実験的ドライバによりATA/ATAPI PCカードがサポートされます。

ATA PCカードドライバ 0.32 (ドキュメント)

ハードウェア互換性リスト (英語)

ノートで外付けCD-ROMからインストールするために、 ブートフロッピーにドライバを追加できないかというアイディアを牧野さんからいただき、 R4.5なら可能であることがわかったので、 お蔵入りになっていたPCカードイネーブラーのコードを引っぱりだして作ってみました。

最初は動くカード(ドライブ)と動かないカードがあって困りましたが、 自分でもドライブを買っていろいろ試した結果、割と多くのカードで動くようになり、 悲願であった「ノートでもまともな方法でインストール」がついに実現しました。 さらに、面倒ですがインストール後もCD-ROMやメモリカードに使えます。 われながらひさびさのヒット、と思ったのもつかの間、 CD-ROMなしでインストールできるR5PEの登場により、 わずか数か月で引導を渡されてしまいました(泣)。 R5Proに使おうにも、PCカードサポートがカーネルに組み込まれたせいか、動きません。

ところで、Adaptecドライバでもそうですが、インストールフロッピーに手を入れるための道具立てを提供する必要があるのが面倒でした。 tarとかgzipとかddとかが必要で、BeOSやUNIXなら元からあるのでまだしも、 Windows用は同梱しないといけないのでなお面倒です。 いっそのことフロッピーイメージ配布にすればよかったかもしれません。


PCカードデータベース

環境: R4.5 x86 (R5不可)

R4.5ではNE2000互換Ethernetカードとシリアル(モデム)カードがサポートされましたが、 実際に認識させるには手作業でカードを調べてデータベースに追加する必要があります。 この手間を省くため、多くのカードをカバーした追加のデータベースを用意しました。 下記のファイルを/boot/home/config/settings/で展開して再起動すると、 多くのNE2000互換Ethernetカードとシリアルカードが認識されるようになります。

注意: このデータベースは互換性リストではありません。 登録されているカードがすべてBeOSで動くわけではありません。 また、R5ではデータベースの形式が変わったため使えません。

PCカードデータベース

これはPCカードウィザードよりも前に作ったものです。 標準のデータベースがあまりにしょぼいので、 動くかどうかは別にしてとりあえずLinuxやFreeBSD並のデータをつっこんでおいて損はなかろうという算段です。 が、そういう開発者的視点はさておき、 一般ユーザーは自分がもっている1枚か2枚のカードが動けばいいわけで、 データが多かろうが少なかろうが、もれていた場合に手動で設定しないといけないことに変わりないという点のほうが問題だったようです。 そういう意味でPCカードウィザードの方がユーザーのニーズにあっていたといえます。 R5用のデータベースを作る用意もあるのですが、そのような事情や、 どうもR5はあまり大きなデータベースは食ってくれないっぽいこともあり、お蔵入りになっています。 PCカードウィザードの起動時にまずこれをマージしてから先に進むようにすると 認識率が向上するとは思います。


PCカードウィザード

環境: R4.5/R5 x86

PCカードのインストールを楽に行うためのウィザードです。 展開してinstall.shを実行(ダブルクリック)してください。 R4.5用とR5用で別ですので注意してください。R4.5用はメンテナンスしていません。 R5用1.11では3C589およびATA/ATAPIカードに対応しました。

PCカードウィザード 0.30 for R4.51.12 for R5 (ドキュメント)

ノート用の代表作の一つです。 個人的にはcardctlでいいのですが、BeOS Tip Serverに 「誰かスクリプトの達人がそのうちなんとかしてくれるだろう」とか書いてあって、 でも誰もなんともしてくれないようなので作ってみました。 とはいえ、ここまでくるともうシェルスクリプトの守備範囲を超えてますが、 単にGUIアプリが書けないだけです(爆)。 まあシェルスクリプトでどこまでできるか実験ということで。 多言語対応もその一環です。 ドイツ語とフランス語の更新は停滞してますが。 せめてフランス語は自分で書かないと…。


物理メモリドライバ

環境: R4/R4.5 x86/PowerPC (R5は未確認)

UNIXの/dev/memに相当するものです。 x86とPowerPCのバイナリが入っています。

物理メモリドライバ 1.02 (ドキュメント)

PCカードイネーブラーの開発中に物理メモリ(アトリビュートメモリ)を手軽に読む必要が生じたので作りました。 普通の人には必要ないものです。


MACアドレス取得

環境: R5 x86/PowerPC (R4/R4.5では一部相違)

ネットワークカードのMACアドレスを取得・表示します。 x86とPowerPCのバイナリが入っています。 あらかじめNetwork preferencesで当該ネットワークカードをdisableしてRestart Networkingする必要があります。 Dano/BONEでは動きません。

MACアドレス取得 1.20

PCカードイネーブラーの開発にあたって、 NE2000互換カードでMACアドレスが正しく取得できないものがあったので、 その確認のために作りました。その割にはあまり使った覚えは…。 なにせ当のNICを止めないと使えないという、いかんともしがたい制約があり、 いまいちな感じです。 その後Mauiで試したときにさっぱり動かなかったので、 さらにやる気がなくなったのですが、 最近メールをもらったのを機に再度調べてみたところ、 R5では動くことがわかりました。 しかもR5では一時的にNICを停止することが簡単にできるので、 以前より少しは使えるかなというところです。 まあ、でもやっぱり他のマシンでarp -aしたほうが早いでしょう。


YMF724ドライバパッチ

環境: R4.5/R5 x86

BeOS R4.5ではYMF724のドライバが提供されていますが、このドライバはYMF724Dでしか動作しないことが知られています。 これにパッチをあてることにより、互換性のある他のヤマハ製チップで動作可能にします。 現在、YMF724F/740B/740C/744Bの動作例が報告されています。 詳しくはBe-INのハードウェア互換データベースを検索してください。

R5では標準で多くのYMFチップに対応していますが、YMF754には対応していません。 R5でYMF754を使う場合も本パッチが有効です。 また、YMF754ドライバも出ています。

アーカイブを展開してinstall.shを実行すると、 指定のチップで動くようにドライバにパッチをあて、インストールを行います。 元のYMF724ドライバはそのままです。

1.60ではR5に対応しました。 なお、R4.5では、Yamaha WaveForce 192Dの一部に使われているYMF724Eは、 このパッチの有無にかかわらず動作しないようです。 また、オンボードYMF740Cにも一部動作しないものがあるようです。

YMF724ドライバパッチ 1.60

R4.5のymf724ドライバが動かないという話がBeTalk-J MLで出て、 デバイスIDが違うだけなのでは、という思いつきが図星だったようなので作ってみました。 この時点ではYMF724なカードを持っているどころか、YMF724なんて聞いたこともありませんでした。 実質2バイトのパッチながらかなり有効だったようで、好評でした。 その後も新しいチップが判明するたびにちまちまとバージョンアップを続けましたが、 バグレポートがR5で反映されてめでたくお役御免となりました。 …と思っていたら、R5はYMF754を認識しないそうで、急遽復活となりました。 それにしても、「YMF724のドライバを書いた」と勘違いした方が多く、 「LinuxでYMF724を動かしたいのだが資料もってないか」みたいなメールが何通も来たのにはまいりました。 最近はヤマハも改心して資料を公開したのかどうか知りませんが、 LinuxやFreeBSDでも普通に使えるようになったみたいです。


Adaptecドライバパッチ

環境: R4.5.1/R4.5.2/R5 x86

R4.5.1/R4.5.2/R5のaic78xxドライバではAIC-7890がサポートされていますが、 AHA-2930U2やAHA-2930CUは認識されません。この問題を修正するパッチです。 2.11では開発環境のないR5PEでもインストール可能になりました。

DanoはAHA-2930CUとAHA-29160をサポートしているようですが、 AHA-2930UとAHA-2930U2はサポートしていないようです。

Adaptecドライバパッチ 2.11 (ドキュメント)

姑息なバイナリパッチ第3弾です。 実はいまだに2930U2もCUも使ったことないんですが。 ところでこれもYMF724同様、ドライバを書いたと勘違いした人が多く、 AHA-29160のドライバはあるかとか、AHA-1542のドライバを書く気はないかとか、 そういうメールがいくつもきました。そんなこと言う人は嫌いです。 もしAdaptecで書くとしたらAHA-152xですね。APA-1460への布石として。 でもPCカードのフレームワークは公開されてないし、 今さらSCSI PCカードに労力かけてもアレなんで、やりませんが。


キーボードドライバパッチ

環境: R4.5/R5 x86/PowerPC

日本語キーボードやUSBキーボードで一部のキーが効かないという問題を修正するパッチです。 R5ではAT・PS/2キーボードでは不要です。 日本語キーボード使用時のカスタマイズについては、UNIXユーザーのためのBeOSを参照してください。

アーカイブを展開してinstall.shを実行すると、キーボードドライバにパッチをあてます。 1.30ではUSBキーボードの右GUI(Windows)キーをサポートしました。

キーボードドライバパッチ 1.30 (ドキュメント)

国別キーマップとの併用をお勧めします。

注意: このパッチは、意図的に、元のドライバを直接書き換えるように作ってあります。 万一パッチが正常に動作しなかった場合、キーボードというデバイスの性質上、 BeOSの起動および操作に重大な支障をきたすおそれがあります。 とくに、インストールCDから緊急起動できないノートPCなどでは注意してください。 動作に支障がある場合は、以下のようにすると元のドライバを復元できます。

$ cd /system/add-ons/input_server/devices
$ gunzip keyboard.gz
$ cd /system/add-ons/kernel/drivers/bin
$ gunzip hid.gz

BeOSではR4以来日本語PS/2キーボードはわりとよくサポートされているのですが、 なぜかR4.5だけアンダースコアが入力できないという問題があって、 それを解決するために作りました。 その後USBキーボードやADBキーボードでもいろいろ入力できないキーがあることがわかったので守備範囲を拡大しました。 じつはPS/2キーボードについてはもっと穏便な方法があったことが最近判明して (しかも自力で発見したのに偶然にもちょっと前のBMessageでしっかり解説されていたことも判明して) だいぶショックでしたが(苦笑)。


DEC LK411キーマップ

環境: R5 x86 (R4.5も可?)

DEC LK411キーボードを使うための設定ファイルです。 スキャンコードマッピングテーブルとキーマップが入っています。 JIS配列版(LK411-JJ)をもとに作ってありますが、日本語ANSI配列(-AJ)や英語ANSI配列版(-AA)など他のバリエーションでもわずかな変更で使えるでしょう。

DEC LK411キーマップ 1.00

秋葉原の若松通商でLK411-JJが安く売ってたので買ってきました。 これは本来DECのワークステーション用のキーボードですが、 PS/2インタフェースなのでPCでも使えます。 しかもHPと違ってコードセット2なので、そのままでも割と普通に使えます。 ただ、テンキーの記号が一部ちゃんと入らないのと、 Prev/Next(PageUp/PageDown)あたりの配列が普通と違っているので、直してみました。

ちなみにWindows NT 4.0では標準サポートされているのですが、2000ではもれています。 106キーボードのままでも十分ですが、 NT4.0を参考にKEYBOARD.INFを書き足してやればばっちりです。 PC-98のようにカナキーで半角カナが入力できます。 ただしテンキーの記号は直りませんし、Prev/Nextも刻印通りです。 また、半角/全角キーに相当するものがないので、IMEのオン/オフなどを別のキーに割り当てておく必要があります。


スキャンコードセット3マッピングテーブル

環境: R5 x86 (R4.5も可?)

スキャンコードセット3を発生するPS/2キーボードを使うための設定ファイルです。 HP A2880Aキーボードのキーマップも入っています。 普通のキーボードでは必要ありません。

スキャンコードセット3マッピングテーブル 1.00 (ドキュメント)

題名を見ても何をするものかさっぱり意味不明ですが(笑)、 要するにHP A2880Aキーボードを使うためのものです。 キーボードドライバパッチのところで触れた方法を使っています。 キーボードコントローラがセット2→セット1変換のつもりでコードをねじまげてしまうので、そこから逆算してテーブルを作りました。 けっこうまともに使えるようになりましたが、やはり少々無理があり、 Windowsキーや日本語関連キーが効かない(A2880Aでは無関係ですが)など、いくつか制約があります。 きわめつけはテンキーの-がなぜか(ってこともないですが)SysReqになってしまうことでしょう。 ともあれBeOSではこれで一応A2880Aが使えるのですが、他のOSやBIOS設定では依然使えないので、やっぱり実用にはなりません。 良いキーボードなのに残念です。


国別キーマップパック

環境: R4.5/R5 x86/PowerPC

各国・言語用キーボード配列のキーマップです。以下の国・言語に対応しています。

また、以下のようなカスタマイズのための差分も提供します。

キーボードドライバパッチとの併用をお勧めします。

国別キーマップパック 1.11 (ドキュメント)

BeOS R4以降のJapaneseキーマップは割とまともなのですが、 チルダの配置とかOptionマップの謎の記号類とか妙なところもあり、 またPC-98キーボードもないので、自分で書いてみました。 その後、イタリア旅行の際にフィレンツェでイタリア語キーボードを買ってきたのですが、 BeOSのItalianキーマップは3つもあるくせにどれも変です。 というか、Keymapを見ると一見いろいろ揃っているように見えますが、 AmericanとJapanese以外はかなりでたらめだということが判明したので、 ひとつ世界に貢献すべく可能な限りのキーマップを書いてみることにしました。 もちろん各国のユーザーがすでに書いたものがBeBitsにいろいろあるのですが、 どれも間に合わせ的なものが多くてあまりきれいではありません。 そういう散発的な試みにとどまらず、 全体的なレベルを一定水準に引き上げることに意味があると思います。

とはいえ、もちろんそんな世界各国のキーボードなど手元にあるわけもないので、 本などの資料や各OS付属のキーマップが頼りなのですが、 これがかなり食い違いが多くて困りました。 結局本当のところは実際のユーザーの声を聞くしかありません。 リトアニアからメールがきたりもしました。

それにしても世界では本当にさまざまなキーボードが使われていることがよくわかります。 日本で米国英語(US)配列を好む人の中には、 「US配列が世界共通の標準であって、 JIS配列のようなローカルなものは日本にしかなく、 そんなヘンテコなものは使ってられない」 みたいな言い方で自分の趣味を正当化したがる人が少なくないですが、 そういう人こそ世界の実情を知らないで米国と英語に盲従しているだけでしょう。 何を使おうが単に好みの問題だと思います。


XPGメッセージカタログライブラリ

環境: R4/R4.5 x86 (R5は未確認)

XPG4(X/Open Portability Guide Issue 4)準拠のNLSメッセージカタログライブラリです。 catopen(), catgets(), catclose(), gencatなどが使用可能になります。 tcshのメッセージの多言語対応に利用できます。 gccに依存しているのでPowerPCではコンパイルできません。

XPGメッセージカタログライブラリ 1.01 (ドキュメント)

tcshのNLSカタログを使うためにFreeBSDからかっぱらってきました。 で、使ってるかというと、使ってません。


NetPositive-CJK

対象リリース: R4.5/R5 x86/PowerPC, NetPositive 2.1, 2.2, 2.2.1, 2.2.2, 3.0d3

NetPositiveに中国語と韓国語サポートを追加します。 StyledEditとxtouもCJK対応になります。 PowerPC版ではソースをコンパイルしてください。

NetPositive-CJK 0.41 for x86ソースコード (ドキュメント)

NetPositive-Kがどうやってるのか前から不思議だったのですが、 からくりがわかったのでじゃあ中国語版を作ってみようということでNetPositive Chinese Kitとしてリリースしました。 例によって汚い方法ですが、今までBeOSで中国語のWWWが読めなかったことからすれば進歩といえるのではないかと思います。 その後、せっかくだから韓国語も統合してCJKになりました。 StyledEditでUTF-8以外も直接読み書きできるってのは知りませんでしたが(ぉ)。 BeMailとかも同じ手法で対応できそうですが、さすがにメールは自分で使わないのでいまいちやる気が起きません。

ちなみにUnicode変換テーブルを3つも抱えているのでバイナリがでかいです (逆変換テーブルを実行時に作るようにすれば半分くらいになりますが)。 そのためソースは別にしました。PowerPC版ユーザへのささやかな配慮でもあります。

BeKrAgeの掲示板で、特定の韓国語ページ(Yahoo!とかLycosとか)で落ちるという話があったので調べてみたところ、 NetPositiveがconvert_to_utf8()に変な値を渡してくることがあるようです (バグかどうかまではわかりませんが)。 そこで適当にworkaroundを施しておきました。


戻る