Linux Kernel 2.6.38 と Webcamstudio でデスクトップ配信

LinuxLinux Kernel 2.6.38 を使って ustreamニコニコ生放送でデスクトップ配信をする方法についてのエントリです。
vloopback が 2.6.38 ではコンパイルできなくなってしまったので、まとめておきます。


必要物

Linux Kernel 2.6.38 でデスクトップ配信をするために、v4l2loopback と Webcamstudio の 0.57alpha2 以降が必要です。

必要物のインストール

v4l2loopback

Linux Kernel 2.6.38 では、V4L1 のサポートが打ち切られ、vloopback がコンパイルできなくなったので、v4l2loopback を使う必要があります。
以下の手順で、v4l2loopback をダウンロードし、コンパイルしてインストールします。

 $ git clone https://github.com/umlaeute/v4l2loopback.git
 $ make
 $ sudo make install
 $ sudo modprobe v4l2loopback

v4l2loopback のインストールは、上記でおわりです。

Webcamstudio

私の環境は、Debian (sid)なのですが、Webcamstudio のコンパイルが上手くいかなかったため、deb ファイルをダウンロードして導入します。
# deb ファイルは、Ubuntu 用だと思うので、Debian での導入は本来はしない方が良いと思います。

 $ sudo dpkg -i webcamstudio_0.57alpha2_all.deb

上記の導入手順で webcamstudio が必要とするパッケージがなく、webcamstudio がうまく入らない事もあるかもしれませんが、その場合は適宜 apt-get 等で必要なパッケージを導入して下さい。
これで webstudio のインストールはおわりです。

遊ぶ

Webcamstudio を起動してごにょごにょします。

$ webcamstudio

以下のようなアプリケーションが起動します。
# 下記画面では、デスクトップ配信の設定をしています。


デスクトップ配信

以下の手順で行えます。

  1. メニューの「Sources」から「デスクトップ」をクリックします。
  2. Layouts に Desktop が足されると思うので、クリックします。
  3. Format 等のタブを選択し、適当にパラメータを設定します。
  4. Position タブを選択し、「▷」ボタンを押します。
  5. 「New Layout」の項目を選択し、上部にある「▷」ボタンも押します。

以上で終わりです。あとは、Ustream 等からカメラとして、Webcamstudio の名前になっているものを選べば良いです。


まとめ

Webcamstudio を使うと動的に写す場所やカメラを変えたり(デスクトップの映像からウェブカメラの映像へ切り替え等)、また、エフェクトをかけたりできます。
Linux でデスクトップ配信するときだけでなく、ウェブカメラを使って配信するときでも使ってみると面白いと思います。

更新時刻

  • 2011/03/27/00:15

skk-tankan.el を改造して遊ぶ - 読みと画数で候補を絞り込む

DDSKK の総画数変換、部首変換ができる skk-tankan.el の内容を読んでいて、ちょっと思い浮かんだので、少し改造して遊んでみましてた。


概要

「読み」+「画数」+「skk-tankan-search-key (デフォルトだと @)」で変換する事で指定した画数と読みを持つ語句のみを変換候補として出せます。
以下のような感じです。

▽りょう2@  ;; => 了
▽あ7@      ;; => 亜 吾

ただ、skk-tankan.el のデフォルトの機能として、「読み」+ 「skk-tankan-search-key (デフォルトだと @)」で画数で変換候補をソートして出せます。
# 画数の少い候補が先に出るようにソートされる。
そのため、この改造の機能を使用する場合は、おそらく、覚えている画数は少いものになると思うので、上記ソート機能で十分の場合がほとんどであまり嬉しくないかもです。

パッチ

小さいのでパッチをそのまま貼り付け。
patch -p0 < skk-tankan.el.patch みたいな感じであたる思います。

diff --git skk-tankan.el skk-tankan.el
index 34822a8..c297d8a 100644
--- skk-tankan.el
+++ skk-tankan.el
@@ -1698,11 +1698,12 @@ C-u 数値 M-x skk-tankan で総画数変換を開始する。"
   "変数 skk-henkan-key で指定された「読み」に基づいて単漢字変換を実行する。
 通常は skk-search-prog-list の1要素として次の形式で指定される。
 '(skk-tankan-search 'skk-search-jisyo-file
-                    skk-large-jisyo 10000))"
+		     skk-large-jisyo 10000))"
   (when (string-match (format "%s$" (regexp-quote
 				     (char-to-string skk-tankan-search-key)))
 		      skk-henkan-key)
-    (let ((skk-henkan-key (substring skk-henkan-key 0 (match-beginning 0))))
+    (let ((skk-henkan-key (substring skk-henkan-key 0 (match-beginning 0)))
+	  kakusu)
       ;; get KOUHO list
       (skk-tankan-select-tankanji-kouho
        (cons nil (cond
@@ -1715,12 +1716,25 @@ C-u 数値 M-x skk-tankan で総画数変換を開始する。"
 			  skk-henkan-key)
 		   (skk-search-by-stroke-or-radical
 		    (skk-tankan-bushu-compread) 0))
+		  ;; ▽あ7@ => 画数7で読みが「あ」の候補
+		  ((string-match "^\\(.*\\)\\([0-9]+\\)$" skk-henkan-key)
+		   (let ((num (match-string 2 skk-henkan-key))
+			 (skk-henkan-key (match-string 1 skk-henkan-key)))
+		     (setq kakusu (string-to-number num))
+		     (apply func args)))
 		  ;; ▽あ <SPC> => "読み"単漢字変換
 		  (t
-		   (apply func args))))))))
+		   (apply func args))))
+       kakusu))))
 
-(defun skk-tankan-select-tankanji-kouho (lis)
+(defun skk-tankan-select-tankanji-kouho (lis &optional kakusu)
   (let ((top lis)
+	(get-anno #'(lambda (cell)
+		      (format "%d画(%s部%d画)%s"
+			      (nth 4 cell)
+			      (aref skk-tankan-radical-vector (nth 2 cell))
+			      (nth 3 cell)
+			      (or (nth 1 cell) ""))))
 	tmp)
     ;; select TANKANJI KOUHO
       (while (cdr lis)
@@ -1747,21 +1761,29 @@ C-u 数値 M-x skk-tankan で総画数変換を開始する。"
 				    (< xb yb))
 				(< xa ya))
 			    (< xc yc))))))
-      ;; return list with annotation
-      (mapcar (lambda (cell)
-		(let ((anno (if (= 0 (nth 2 cell))
-				(nth 1 cell)
-			      (format "%d画(%s部%d画)%s"
-				      (nth 4 cell)
-				      (aref skk-tankan-radical-vector
-					    (nth 2 cell))
-				      (nth 3 cell)
-				      (or (nth 1 cell) "")
-				      ))))
-		  (if (= 0 (length anno))
-		      (char-to-string (car cell))
-		    (concat (char-to-string (car cell)) ";" anno))))
-	      lis)))
+      (cond
+       (kakusu
+	;; return list that extracted by KAKUSU.
+	(let (l)
+	  (dolist (i lis)
+	    (when (and (/= 0 (nth 2 i))
+		       (= kakusu (nth 4 i)))
+	      (let ((anno (funcall get-anno i)))
+		(setq l (cons (if (= 0 (length anno))
+				  (char-to-string (car i))
+				(concat (char-to-string (car i)) ";" anno))
+			      l)))))
+	  (nreverse l)))
+       (t
+	;; return list with annotation
+	(mapcar (lambda (cell)
+		  (let ((anno (if (= 0 (nth 2 cell))
+				  (nth 1 cell)
+				(funcall get-anno cell))))
+		    (if (= 0 (length anno))
+			(char-to-string (car cell))
+		      (concat (char-to-string (car cell)) ";" anno))))
+		lis)))))
 
 ;;;###autoload
 (defun skk-search-tankanji (&optional jisyo)


まあ、よかったらどうぞという感じで…。

更新時刻

  • 更新時刻 2011/01/03/04:55

ddskk で交ぜ書き変換をしたい - 交ぜ書き辞書へん

前回の「ddskk で交ぜ書き変換をしたい」のつづきです。


おさらい

前回の「ddskk で交ぜ書き変換をしたい」は、以下のような内容でした。

  • ddskk で交ぜ書き変換ができる skk-mazegaki を作った。
  • ただし、漢字混じりの変換をするには、漢字混じりのエントリのある交ぜ書き辞書が必要!
  • SKK に含まれる SKK-JISYO.mazegaki では貧弱、しかも、ddskk のリポジトリにある skk-mkmgk.el は古い存在しない skk の関数を使っていたりして望む辞書が作れない。
    #skk-mkmgk.el の存在しない関数問題を直しても、試した限り、欲しいレベルの辞書を作れなかった…。
  • よって、SKK-JISYO.L から生成するスクリプトを作ったので、整理してそのうち公開する。おわり。

交ぜ書き変換と skk-mazegaki.el は、以下のような機能でした。

  1. 通常のかな漢字変換では、「ひらがな」や「数字」のみを変換対象とする。
  2. 漢直で使われる交ぜ書き変換では、その「ひらがな」と「数字」に加えて、「漢字」も変換対象として含める事ができる。
  3. 普通の日本語入力方式では、漢字を直接打てないので、変換対象に漢字を含める事はできない。
  4. よって、skk-mzegaki.el では、確定済みの文字列を変換対象として再変換を行う。

さて、今回は、上記にあるように、交ぜ書き辞書を生成するスクリプトについて作ってみたので、公開します。

交ぜ書き辞書生成

概要

SKK 用の交ぜ書き辞書を生成します。辞書のエントリは、以下のような形式であれば良いです。

...
あいち工業だいがく /愛知工業大学/
あいち工業大がく /愛知工業大学/
あいち工業大学 /愛知工業大学/
...

こういうエントリを SKK-JISYO.L より自動生成します。

skk-mazegaki-mkdict.el

skk-mazegaki.el の launchpad のリポジトリskk-mazegaki-mkdict.el という elisp を追加しました。

skk-mazegaki-mkdict.el を実行するためには、ddskk 自体と skk-mazegaki.el が必要です。

設定

skk-mazegaki.el と skk-mazegaki-mkdict.el を `load-path' の通ったディレクトリに置き、以下のように require します。
デフォルトでは、SKK-JISYO.L より生成するため、SKK-JISYO.L が必要で、辞書のパスが skk-large-jisyo に適切に設定されている必要があります。

(require 'skk-mazegaki-mkdict)
(setq skk-large-jisyo "SKK-JISYO.L へのパス")

辞書生成以下の手順を踏む必要があります。
以下の例では、SKK-JISYO.L.mazegaki が生成されます。

1. 辞書を生成する。
M-x skk-mazegaki-mkdict-make-dictionary
# -> デフォルトでは、/tmp/TMP に生成される

2. 辞書から重複エントリを取り除き、ソートする。
$ skkdic-expr /tmp/TMP | skkdic-sort > SKK-JISYO.L.mazegaki

「1.」の手順では、/tmp/TMP 以下に辞書が生成されます。
辞書ファイルの文字コードは、EUC-JP です。
手元の環境(i386Debian sid、Core2Duo e7200、メモリ4G、Emacs 24)では、SKK-JISYO.L から交ぜ書き辞書を生成するのに、およそ1時間ほどかかりました。

SKK-JISYO.L 以外から生成する

以下の2変数を編集します。

- skk-mazegaki-mkdict-default-dictionary
- skk-mazegaki-mkdict-prog-list

skk-mazegaki-mkdict-default-dictionary には、辞書生成するとき、元としたい辞書を指定します。
デフォルトでは、SKK-JISYO.L となっています。
つまり、SKK-JISYO.L に含まれる単語、「きしゃ /記者/...」、「てんとう /点灯/...」…のような語句から交ぜ書き辞書を生成します。


skk-mazegaki-mkdict-prog-list には、交ぜ書き辞書を生成する際、読みに含まれる漢字を検索する際に使う prog-list を指定します。
デフォルトでは、SKK-JISYO.L のみから検索します。
これを例えば、以下のように skk-search-prog-list を指定すると、通常行っている変換と同じ候補から調べるようになります。
# 注: 複数の辞書を使っていたりすると、尋常じゃなく交ぜ書き辞書の生成が遅くなります。

(setq skk-mazegaki-mkdict-prog-list skk-search-prog-list)

「読みに含まれる漢字を検索」とは、「きしゃ」を例とすると、

  1. 「きしゃ」を「きしゃ、きし、き、し、しゃ、ゃ」のように分解する
  2. 分解した語句それぞれについて変換できる漢字を調べる
    • 「き」ならば、「木」、「気」、「記」…
  3. 分解した語句の変換可能な漢字が、「きしゃ」の変換結果に含まれる漢字であるか調べる
    • 「きしゃ」の変換結果が「記者」ならば、「記」となる。
  4. 変換結果に含まれる漢字であるならば、それを置き換えて、1つの候補とする
    • 分解した語句として「き」を選び、ここでの変換結果が「記者」ならば、「記しゃ」という候補ができ上がる

skk-mazegaki-mkdict-prog-list は、上記における「2.」のプロセスで行う変換の際に使用されます。

まとめ

SKK-JISYO.L より、交ぜ書き辞書を自動生成するスクリプトを作りました。
これにより、SKK で交ぜ書き変換が多少便利に行えるのではないかなと思います。
よろしければ、遊んでみてください。


更新時刻

  • 2010/12/26/3:10

ddskk で交ぜ書き変換をしたい

Emacs Advent Calendar の20日目です。
Emacs Advent Calendar 自体は、下記 URL を参考として下さい。

前日は、id:buzztaiki さんでした。

さて、本日は、ddskk で交ぜ書き変換を使う elisp を書いたので、それを紹介したいと思います。
交ぜ書き変換とは、いわゆる漢直と呼ばれる日本語入力法で使われる変換方式の1つです。
私は、漢直にそこまで詳しいわけではないので、交ぜ書き変換の解説等間違いがありましたら教えて頂けると幸いです。


概要

SKK とは

ddskk とは SKK という日本語入力方式の Emacs における実装です。
以下の URL で開発がなされています。

簡単に説明すると、文節を人が決めて変換をする方式で「日本語」という語句を入力したいならば、
「Nihongo」と漢字変換したい文字列の先頭の文字を大文字で入力し、SPC で変換するという方式です。
これにより、機械が自動で文節を判断し変換するという事を行わないので、おかしな変換が減る等の利点があります。

交ぜ書き変換とは

通常の仮名漢字変換では、変換元となる文字列は、「ひらがな」や「数字」のみです。
それに対して、交ぜ書き変換は、変換元となる文字列に「漢字」が含まれる事を許容します。


例えば、よくある例ですが、「きしゃ」という語句を変換したい場合、通常の仮名漢字変換では、少なくとも3つは候補が考えられます。

  • 汽車
  • 貴社
  • 記者

交ぜ書き変換では、例えば、変換元となる文字列として、「汽しゃ」のような漢字混じりの文字列を許します。その場合の変換結果は、当然「汽車」となります。
このように、変換元となる文字列に「漢字」を交ぜる事で変換精度の向上を望めます。


この交ぜ書き変換では、漢字の直接入力を行う T-Code や TUT-Code の補助入力方式としてひろく使われています。
普通の IME では、漢字の直接入力ができないため、変換元となる文字列に漢字を含む事がないので、おそらくあまり使われる事はないのではないかと思います。

SKK で交ぜ書き変換

skk-mazegaki.el

SKK で交ぜ書き変換を行うために、以下の elisp を作ってみました。

この elisp を使うには、交ぜ書き変換用のエントリが登録された辞書が必要です。
これは、エントリ数は非常に少い(例えば、上の「きしゃ」の例は単語登録されていない…)ですが、SKK で用意されています。

自分でも SKK-JISYO.L 等から、交ぜ書き辞書を作成するスクリプトを作成してオリジナルの交ぜ書き辞書を作成したのですが、
スクリプトが整理できておらず、色々問題をはらんでいるため、そこらへんが解決できたら公開しようと思っています。
(12/27 追記) 公開しました: http://d.hatena.ne.jp/khiker/20101225/ddskk_mazegaki_dict


なお、ddskk のソースコード中 tut-code ディレクトリ以下に skk-mkmgk.el という交ぜ書き辞書を作る elisp がありますが、
古い存在しない SKK の関数を使っていたりと、現状動きません。
# それらを直したとしても、現在の SKK-JISYO.L の内容に適応できていないため、求めるレベルの辞書を作れないです…。

設定

skk-mazegkai.el を load-path の通ったディレクトリに起き、以下のコードを .emacs に追加すれば OK です。

(require 'skk-mazegaki)
(setq skk-rom-kana-rule-list
          (append skk-rom-kana-rule-list
                 '(("fj" nil skk-mazegaki-henkan))))
(setq skk-rule-tree
      (skk-compile-rule-list
       skk-rom-kana-base-rule-list skk-rom-kana-rule-list))

この場合、変換は、SKKskk-j-mode (日本語入力をするモード)で「fj」と押すと行えます。

概要

skk-mazegaki.el では、「確定してしまったけど、やっぱり変換したい語句」の変換を行います。
この確定済みの文字列を対象とする理由は、通常の SKK の入力では、漢字の直接入力ができないためです。
# skk-tutcode などを使えば別ですが…


例えば、「主きおくそうち」という単語の「ち」のあとにポイントがあったときに、変換(上記「設定」項でのキーバインドだと fj)を行うと、以下の単語が変換候補として現れます。

  • 主きおくそうち
  • きおくそうち
  • そうち
  • うち

これらの候補を「<」や「>」キーで選択し、SPC キーで実際に変換を開始します。
これらの候補を選択し、実際に SPC キーで変換した際の変換結果の例としては以下のようになります。

  • 主きおくそうち → 主記憶装置
  • きおくそうち → 記憶装置
  • そうち → 装置、送致 ...
  • うち → 内、打ち ...
  • ち → 血、地 ...

キーバインドをまとめると以下のようになります。

  • 候補の選択: < >
  • 変換: SPC
  • 中止: C-g

SPC で行う「変換」は、通常の ddskk の変換となります。


この skk-mazegaki は、以下の点で SKK の既存の似た機能よりも利点があると考えています。

  • 「通常の SKK の変換」
    • 語句を確定した後に変換ができない
      • skk-mazegaki は、語句を確定した後に変換ができる
  • skk-set-henkan-point 関数」
    • 自分で変換の開始位置を決めなければならない
      • skk-mazegaki は、変換の開始位置を推定する事ができるので、自分で変換の開始位置を決める必要がない
  • skk-backward-and-set-henkan-point 関数」
    • どこに変換の開始位置が飛ぶのか想像しづらい
      • skk-mazegaki は、オーバレイがかかるのでまだ分かり易い
    • 漢字混じりの語句を対象とはできない
      • 漢字混じりの語句が使っている SKK-JISYO にあれば、変換対象とできる

skk-mazegaki では、確定済みの文字列の再変換ができます。
そのため、漢字混じりの文字列の変換だけでなく、通常の SKK における日本語入力を行う際の補助的な入力として役立つかもしれないです。

その他

この skk-mazegaki.el は、Emacs 23 以上でしか動作しません。22 以下では、未確認ですが、変換の開始位置の推定機構がうまく動かないものと思われます。
その他、skk-mazegaki.el の頭の方のコメントに簡単に書いてありますので、御参照頂ければ幸いです。

まとめ

SKK で漢字混じりの変換をできるようにするために、skk-mazegaki.el という elisp を作ってみました。
まだできたてで、バグが多々あると思われますが、よろしければ遊んでみていただけると幸いです。
# 何かバグを発見したり、機能に要望があったならば、教えて頂けると嬉しいです。


ちなみに最終的な目標は、ddskk の tut-code 以下にあるような形で、SKK で T-Code 等の漢直をもっと便利に使えるようにする事だったりです。
# まだ私自身が漢直を使えなかったりと問題だらけですがw


なお、明日(というか今日orz)の Emacs Advent Calendar は、hitode909 さんです。お楽しみに。

その他

Emacs Advent Calendar の他に今回紹介した SKK を題材とした、SKK Advent Calendar という Advent Calendar も行われています。
これは、12/21 現在 4 名ほどの空きがあるので、SKK にさえかすっていれば内容は何でも問題ないので、よろしければ参加してみてくださいー。

参考

追記(12/27)

試しに操作風景を動画にとってみて、ニコニコにあげてみました。
エンコードをニコニコまかせにしたせいか、動画は、かなり汚いですが、ご容赦下さい。すみません。
撮影は、xvidcap を使って行いました。


更新時刻

  • 2010/12/21/01:25
  • 2010/12/27/21/30

Linux で Dvorak 配列の実現とその練習

Dvorak Advent Calendar の8日目です。
Dvorak Advent Calendar については下記を参照して下さい。

前日の自分の記事は以下です。


概要

今日は、Linux 環境で自分が Dvorak のタイピング練習に使ったソフトウェアを紹介します。
ただ、それけだと内容が薄いように感じたので、おまけとして、
Linux 環境で Dvorak 配列をソフトウェア的に実現する方法を載せます。
参考になれば幸いです。

ktouch

自分は、主に ktouch というタイピング練習ソフトウェアを使って、Dvorak 配列を覚えました。
これは、KDE に付属するソフトウェアで、DebianUbuntu ならば以下のように、
端末からコマンドを打つ事でインストールが可能です。

$ sudo apt-get install ktouch

このソフトウェアは、配列に基いた教本が用意されており、それを選択して練習を行えます。
この教本は、Qwerty は当然として、Dvorak だけでなく、Colemak 用も用意されており、非常に多彩です。
また、練習は、level 毎に分かれており、level があがる毎に段々と打つキーも増えて、難易度も増していきます。


以下が Dvorak の教本を使い、キーボード配列として、Dvorak 配列を表示した場合のスクリーンショットです。



また、こちらが Colemak 用の教本を使い、Colemak 配列を表示した場合のスクリーンショットです。



自分が練習するときは、とにかく物理的なキーボードを見ないように意識して行いました
また、練習の頻度も1日 1level づつとゆっくり行い、時間をかけて配列を覚えていきました。
# なので、途中さぼったりして、結局覚えるのに半年ぐらいかかってしまいましたorz
おそらく、ゆっくりのペースでもひと月もあれば、十分覚えられるものと思います。

まとめ

ktouch での練習は、比較的容易にかつあっさりと作業の合間合間にできます。
また、1回の練習にそんなに時間もかかりません。Linux 環境の方は、行ってみてはいかがでしょうか。
# タッチタイプができないという方にももちろんおすすめです。
Dvorak 配列を試してみると分かりますが、Qwerty 配列とは、確実に指の移動量が違います。


最後におまけとして、Linux 環境で Dvorak 配列に切り替えるにはどうしたら良いかについてつけておきます。
# コマンドラインから変更する方法しか知らないので、コマンドばかりですみません。

おまけ1

UNIX 環境(X 下)で Dvorak 配列へと変更する。
コマンドラインから以下のように打つだけです。実行する前に戻せるように戻し方をちゃんと覚えてから行う事をおすすめします。

$ setxkbmap dvorak

戻すには以下のように打ちます

英字配列の場合
$ setxkbmap us
JIS 配列の場合
$ setxkbmap jp

おまけ2

Linux 環境(非 X下)で Dvorak 配列へと変更する。
要は、Ctrl-Alt-F1 等で入った先で、OS の設定で Dvorak を使うにはどうすればいいの?です。
以下のように打つだけで Dvorak 配列へと変わります。
同様に戻すコマンドを確認してから行った方が良いと思います。
また、実行には root 権限が必要で、各 map ファイルのパスは環境によっては異なるかもしれません。

$ sudo loadkeys /usr/share/keymaps/i386/dvorak/dvorak.map.gz

戻すには、以下のように打ちます

英字配列の場合
$ sudo loadkeys /usr/share/keymaps/i386/qwerty/us.kmap.gz
JIS 配列の場合

JIS キーボードでは実際試してないです。すみません。おそらくこれで大丈夫だと思います。

$ sudo loadkeys /usr/share/keymaps/i386/qwerty/jp106.kmap.gz

おまけのおまけ

UNIX 環境でよく使われているエディタ Emacs でも Dvorak 配列を試す事もできます。

M-x set-input-method
;; english-dvorak を選択

たった上記の手順のみで、配列が dvorak になります。
ただし、Control や Alt(Meta) からはじまる配列は Qwerty のままであるので注意が必要です。
例えは、M-x の x は、english-dvorak としていても Qwerty の位置での x のままです。

更新時刻

  • 2010/12/11/03:15

Dvorak 配列が使えるキーボード

Dvorak Advent Calendar の7日目です。
Dvorak Advent Calendar については下記を参照して下さい。

自分なんぞより、ずっとすごい Dvorak 使いの方々の記事を見れますよ!
また、前日の Yuzuemon さんの記事は以下です。


概要

さて、今日は、Dvorak 配列を使う事が可能なキーボードについて簡単に紹介します。
以下のキーボードについてそれぞれ紹介します。

ちなみに、私はキーボード集めが趣味のようなもので、上記のキーボード、全て所持しています。

TypeMatrix

TypeMatrix は、薄型、格子配列、Qwerty から Dvorak 配列に切り替え可能なエルゴノミクスキーボードです(英語キーボード)。
以下から購入可能です。およそ値段は、$110ほどです。

Fn + F1 キーを押す事で、左側の dvorak と印字された横のランプが光り、キーボード配列が Dvorak 配列へとなります。
OS 側では何も設定する必要はありません。

ライトなし(Qwerty) ライトあり(Dvorak)


もうちょっと全体をうつした画像が以下です。



ちなみに、以前購入したとき、ブログで記事を書きました。

なお、この TypeMatrix ですが、現在(12/10)セールを行っているようで、25%引きで購入が可能のようです。
# 別に TypeMatrix 社の回し者というわけじゃないです。いちおうw

Kinesis Contoured Keyboard

Kinesis Contoured Keyboard は、非常に有名なエルゴノミクスキーボードです(英語キーボード)。
以下から購入可能です。およそ値段は、3万円中盤から4万円後半といったところです。

このキーボードでは、配列のリマップという点では以下の事ができます。

  • 全てのキーが自由自在に入れ替えられる
  • マクロを組む事もできる

これらの操作には、専用のソフトウェアは必要とせず、Kinesis についているキー入力(Program キー等)から設定ができます。
Dvorak 配列への変更だけでなく、Colemak 配列やオリジナルの配列等自由自在に変更できます。
また、このキーボードは、Dvorak 配列を使いたいという方だけでなく、キーを頻繁に打ち、腱鞘炎に悩む方にもおすすめできます。
普通のキーボードに比べて親指をはるかに有効に使う事ができます。


以下は、Kinesis Contoured Keyboard (Advantage 黒)の Dvorak 印字バージョンの画像になります。


詳しくは、Kinesis についてまとまっている Wiki があるので、そちらをみてみるのも良いかもしれません。

ちなみに、これも以前購入したときに、ブログで記事を書きました(以下の URL の記事は Dvorak 印字バージョンではない普通の Advantage 黒です)。

なお、この Kinesis のキーボードですが、現在(12/10)セールを行っているようで、最大7000円 OFF で買えるようです。
# 別に kinesis 社、エジクン技研の回し者というわけじゃ(ry

MPOS プログラマブルキーボード

MPOS プログラマブルキーボード は、茶軸や黒軸等スイッチでも有名な Cherry 社のプログラマブルキーボードです。
おそらく産業用なのだと思います。
# 別に産業用だからといって使用する分には特段、特別な事はないです。
このキーボード自体は、以下から購入可能です。値段はおよそ、2万円台中盤といったところです。

このキーボードは、Windows 専用のキーリマップソフトウェアを使う事で自由自在にキーを入れ替える事ができます。
私は実際に、デフォルトの Qwerty 配列から Dvorak 配列へと変更し、使用しています。
一度、リマップソフトウェアを使いキー配列を変更してしまえば、設定自体は、キーボードに保存されるので、
後はどんな OS (もちろん Linux)でも設定した配列を使う事ができます。
このキーボードは、TypeMatrix や、Kinesis のキーボードと違い、格子配列ではなく、
同じ右上から左下に斜めになるようになった普通のキーボードと同じようにキーが配列されています。
ちょっとぼけていますが、以下が画像になります。見た目は普通のキーボードと同じです。



ちなみに、これまた以前購入したときに、ブログで記事を書いていたりします。

μTron Keyboard

Tron キーボードの21世紀版として再度製品化されたキーボード(らしい)です。
購入自体は、秋葉原クレバリー2号店さんででき、実際に触る事も(今まで紹介したキーボードに比べて)容易にできます。
ただし、値段は、5万円以上するので非常に高いです。

このキーボードでは、JIS 配列と Tron 配列(Dvorak 配列)を切り替えて使用する事ができます。
ただし、Tron 配列は、ドライバで実現されており、特定の環境(Windows超漢字)でしか使用できません。
実際、Linux 上で試してみましたが、下記図にあるように、Tron キーを押しても普通のキー(a,o,e,u,i...)は、Qwerty から Dvorak には変化しませんでした。
一部のキー、右 Ctrl 等は、Tron キーを押すと有効になりました。

ドライバで Tron 配列が実現されており、OS を選んでしまうという点が少し残念です。
ただ、キースイッチは、東プレの Realforce と同じ、静電容量無接点方式を使用しており、非常に良いです。


以前撮った画像の使いまわしですが、こんなかんじの左右分離したキーボードです。
# 押入にしまってて出すのが面倒で使いまわしです。すみませんw



ちなみに、これもまた、以前購入したときに、ブログで記事を書いていたりします。

まとめ

一部、例外もありましたが、今回紹介したキーボードは、キーボード側に設定を覚えさせる事ができます。
その利点としては、以下のような項目があげられます。

  • OS が変わってもそのまま Dvorak 配列を使う事ができる
  • アプリケーション側で設定する場合に起きるかもしれないアプリケーションのバグ等により、配列変更が無効になるというような事が原理的に起こりえない
  • Qwerty Keyboard も USB ポートにさせば、Qwerty キーボードと共存もできる
  • Kinesis の Contoured キーボードや MPOS プログラマブルキーボードであれば、キー配列の設定が自由に変更可能
    • つまり、Dvorak 配列だけでなく、例えば、Colemak 配列や、その他自分の好きな配列にすら変更できる!

もちろん、大きな問題点としては、値段が非常に高いという問題点もあります(2万円以上)。
ただ、キーボードは、一度買ってしまえば、私のような集めたりするような人間でない限りそうそう買い替えたりしません。
一度買ってしまえば、そうそう買い替える事はない、むしろ、この値段で Dvorak なキーボードが手に入ると考えたらそう高くはないかもしれません(そうは言っても高いよね…)。
Dvorak な配列にできるキーボード、一度手にしてみてはいかがでしょうか。


なお、上記に上げた以外に現在入手可能な Dvorak 配列にできるキーボードについてご存知の方がおられましたら、教えて頂けるとすごく嬉しいです。

更新時刻

  • 2010/12/10/3:20