--.--.--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2006.08.07

ステノワード

ステノワード(スピードワープロ)をで実装しようとしてみた。
分かっている範囲だけでも途中で飽きた。途中までだけど貼っときます。

それにしてもGHK;右スペース左スペースの、6鍵同時打鍵は厳しかろう。特にHK;が。

いつからか知らないけど、FC2ブログにタグという機能がついてた。「はてな」のあれかなきっと。他にもグーグルサイトマップやらアマゾンマイショップやら、FC2の中の人は頑張ってて好感が持てる。Ajaxは意味が分からない。にしても一体どうやって収益上げてるんだろう。
#Stenotypeのテスト カナモード用

#.定義

#---------------------------------------------------------
#かな定義
#---------------------------------------------------------
keyseq $aa = _3
keyseq $ii = e
keyseq $uu = _4
keyseq $ee = _5
keyseq $oo = _6
keyseq $ka = t
keyseq $ki = g
keyseq $ku = h
keyseq $ke = colon
keyseq $ko = b
keyseq $sa = x
keyseq $si = d
keyseq $shi = d
keyseq $su = r
keyseq $se = p
keyseq $so = c
keyseq $ta = q
keyseq $ti = a
keyseq $chi = a
keyseq $tu = z
keyseq $tsu = z
keyseq $te = w
keyseq $to = s
keyseq $na = u
keyseq $ni = i
keyseq $nu = _1
keyseq $ne = comma
keyseq $no = k

keyseq $ha = f
keyseq $hi = v
keyseq $hu = _2
keyseq $fu = _2
keyseq $he = caret
keyseq $ho = Hyphen
keyseq $ma = j
keyseq $mi = n
keyseq $mu = RightSquareBracket
keyseq $me = Slash
keyseq $mo = m
keyseq $ya = _7
keyseq $yu = _8
keyseq $yo = _9
keyseq $ra = o
keyseq $ri = l
keyseq $ru = Period
keyseq $re = Semicolon
keyseq $ro = BackSlash
keyseq $wa = _0
keyseq $wo = s-_0
keyseq $n = y
keyseq $nn = y


keyseq $xa = s-_3
keyseq $xi = s-e
keyseq $xu = s-_4
keyseq $xe = s-_5
keyseq $xo = s-_6
keyseq $xya = s-_7
keyseq $xyu = s-_8
keyseq $xyo = s-_9
keyseq $xtu = s-z
keyseq $xtsu = s-z
keyseq $daku = Atmark
keyseq $handaku = LeftSquareBracket
keyseq $han = LeftSquareBracket
keyseq $kuten = s-Period
keyseq $touten = s-comma
keyseq $Lkakko = s-LeftSquareBracket
keyseq $Rkakko = s-LeftSquareBracket
keyseq $choon = YenSign
keyseq $naka = S-Slash


keyseq $ga = t $daku
keyseq $gi = g $daku
keyseq $gu = h $daku
keyseq $ge = colon $daku
keyseq $go = b $daku
keyseq $za = x $daku
keyseq $zi = d $daku
keyseq $zu = r $daku
keyseq $ze = p $daku
keyseq $zo = c $daku
keyseq $da = q $daku
keyseq $di = a $daku
keyseq $ji = a $daku
keyseq $du = z $daku
keyseq $de = w $daku
keyseq $do = s $daku
keyseq $ba = f $daku
keyseq $bi = v $daku
keyseq $bu = _2 $daku
keyseq $be = caret $daku
keyseq $bo = Hyphen $daku
keyseq $vu = _4 $daku

keyseq $pa = f $handaku
keyseq $pi = v $handaku
keyseq $pu = _2 $handaku
keyseq $pe = caret $handaku
keyseq $po = Hyphen $handaku

#keyseq $question = $Alphabet S-Slash $Kana

def alias c1 = a
def alias c2 = s
def alias c3 = d
def alias c4 = f
def alias c5 = g

def alias c6 = h
def alias c7 = j
def alias c8 = k
def alias c9 = l
def alias c0 = Semicolon

def alias t1 = Space
def alias t2 = convert

#.
keymap Global
key SL-IL-*Ic- =
mod shift -= Space


#. 5鍵
keymap c5c6c8c0t2 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-t2 = BS BS $ka $ii $si $xya

#. 4鍵

keymap c5c6c8c0 : Global
event after-key-up = &Toggle( Lock1, off )
event prefixed = $si $xya &Prefix( c5c6c8c0t2, false )


#. 3鍵
#..

keymap c1c5c6 : Global
keymap c1c5c8 : Global

keymap c5c7t1 : Global
event after-key-up = &Toggle( Lock1, off )
event prefixed = $xya

keymap c4c7c9 : Global
event after-key-up = &Toggle( Lock1, off )
event prefixed = $ka $ii

keymap c5c6c8 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c0 = &Prefix( c5c6c8c0, false )

keymap c5c6c0 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c8 = &Prefix( c5c6c8c0, false )

keymap c5c8c0 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c6 = &Prefix( c5c6c8c0, false )

keymap c6c8c0 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c5 = &Prefix( c5c6c8c0, false )


#..

keymap c1c0 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c6 = BS &Prefix( c5c6c0, false )
key L1-c8 = BS &Prefix( c5c8c0, false )

keymap c1c5 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c6 = BS &Prefix( c1c5c6, false )
key L1-c8 = BS &Prefix( c1c5c8, false )

keymap c5c0 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c6 = BS &Prefix( c5c6c0, false )
key L1-c8 = BS &Prefix( c5c8c0, false )

keymap c6c0 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c5 = BS &Prefix( c5c8c0, false )
key L1-c8 = BS &Prefix( c6c8c0, false )

keymap c8c0 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c6 = BS &Prefix( c5c6c0, false )
key L1-c8 = BS &Prefix( c5c8c0, false )

keymap c2c6 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c1 = BS $du &Toggle( Lock1, off )

keymap c4c7 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c9 = BS &Prefix( c4c7c9, false )

keymap c4c9 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c7 = BS &Prefix( c4c7c9, false )

keymap c5c6 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c8 = BS &Prefix( c5c6c8, false )
key L1-c0 = BS &Prefix( c5c6c0, false )

keymap c5c7 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-t1 = BS &Prefix( c5c7t1, false )

keymap c5c8 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c6 = BS &Prefix( c5c6c8, false )
key L1-c0 = BS &Prefix( c5c8c0, false )

keymap c5c0 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c6 = BS &Prefix( c5c6c0, false )
key L1-c8 = BS &Prefix( c5c8c0, false )

keymap c5t1 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c7 = &Prefix( c5c7t1, false )

keymap c6c8 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c5 = &Prefix( c5c6c8, false )
key L1-c0 = &Prefix( c5c6c0, false )

keymap c6c0 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c5 = &Prefix( c5c6c0, false )
key L1-c8 = &Prefix( c5c6c8, false )

keymap c7c9 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c4 = &Prefix( c4c7c9, false )

keymap c7t1 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c5 = &Prefix( c5c7t1, false )

keymap c8c0 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c5 = &Prefix( c5c8c0, false )
key L1-c6 = &Prefix( c6c8c0, false )


#. 2鍵



#.. 右左
keymap c1 : Global # 濁 わ
event after-key-up = &Toggle( Lock1, off )
#key L1-c6 = $u &Toggle( Lock1, off )
#key L1-c7 = $wa &Toggle( Lock1, off )
#key L1-c8 = $wo &Toggle( Lock1, off )
#key L1-c9 = $i &Toggle( Lock1, off )
#key L1-c0 = $e &Toggle( Lock1, off )


keymap c2 : Global # た ら
event after-key-up = &Toggle( Lock1, off )
key L1-c6 = $tu &Prefix( c2c6, false )
key L1-c7 = $ta &Toggle( Lock1, off )
key L1-c8 = $to &Toggle( Lock1, off )
key L1-c9 = $ti &Toggle( Lock1, off )
key L1-c0 = $te &Toggle( Lock1, off )

keymap c3 : Global # は な
event after-key-up = &Toggle( Lock1, off )
key L1-c6 = $hu &Toggle( Lock1, off )
key L1-c7 = $ha &Toggle( Lock1, off )
key L1-c8 = $ho &Toggle( Lock1, off )
key L1-c9 = $hi &Toggle( Lock1, off )
key L1-c0 = $he &Toggle( Lock1, off )

keymap c4 : Global # か ま
event after-key-up = &Toggle( Lock1, off )
key L1-c6 = $ku &Toggle( Lock1, off )
key L1-c7 = $ka &Prefix( c4c7, false )
key L1-c8 = $ko &Toggle( Lock1, off )
key L1-c9 = $ki &Prefix( c4c9, false )
key L1-c0 = $ke &Toggle( Lock1, off )

keymap c5 : Global # さ や
event after-key-up = &Toggle( Lock1, off )
key L1-c6 = $su &Prefix( c5c6, false )
key L1-c7 = $sa &Prefix( c5c7, false )
key L1-c8 = $so &Prefix( c5c8, false )
key L1-c9 = $si &Toggle( Lock1, off )
key L1-c0 = $se &Toggle( Lock1, off )

key L1-t1 = &Prefix( c5t1, false )

#.. 左右
keymap c6 : Global # う
event after-key-up = &Toggle( Lock1, off )
#key L1-c1 = BS $a &Toggle( Lock1, off )
key L1-c2 = BS $tu &Prefix( c2c6, false )
key L1-c3 = BS $hu &Toggle( Lock1, off )
key L1-c4 = BS $ku &Toggle( Lock1, off )
key L1-c5 = BS $su &Prefix( c5c6, false )

key L1-c8 = BS &Prefix( c6c8, false )
key L1-c0 = BS &Prefix( c6c0, false )

keymap c7 : Global # あ
event after-key-up = &Toggle( Lock1, off )
#key L1-c1 = BS $wa &Toggle( Lock1, off )
key L1-c2 = BS $ta &Toggle( Lock1, off )
key L1-c3 = BS $ha &Toggle( Lock1, off )
key L1-c4 = BS $ka &Prefix( c4c7, false )
key L1-c5 = BS $sa &Prefix( c5c7, false )

key L1-c9 = BS &Prefix( c7c9, false )
key L1-t1 = BS &Prefix( c7t1, false )

keymap c8 : Global # お
event after-key-up = &Toggle( Lock1, off )
#key L1-c1 = BS $wo &Toggle( Lock1, off )
key L1-c2 = BS $to &Toggle( Lock1, off )
key L1-c3 = BS $ho &Toggle( Lock1, off )
key L1-c4 = BS $ko &Toggle( Lock1, off )
key L1-c5 = BS $so &Prefix( c5c8, false )

key L1-c6 = BS &Prefix( c6c8, false )
key L1-c0 = BS &Prefix( c8c0, false )

keymap c9 : Global # い
event after-key-up = &Toggle( Lock1, off )
#key L1-c1 = BS $wo &Toggle( Lock1, off )
key L1-c2 = BS $ti &Toggle( Lock1, off )
key L1-c3 = BS $hi &Toggle( Lock1, off )
key L1-c4 = BS $ki &Prefix( c4c9, false )
key L1-c5 = BS $si &Toggle( Lock1, off )

key L1-c7 = BS &Prefix( c7c9, false )


keymap c0 : Global # え
event after-key-up = &Toggle( Lock1, off )
#key L1-c1 = BS $we &Toggle( Lock1, off )
key L1-c2 = BS $te &Toggle( Lock1, off )
key L1-c3 = BS $he &Toggle( Lock1, off )
key L1-c4 = BS $ke &Toggle( Lock1, off )
key L1-c5 = BS $se &Prefix( c1c5 , false )

key L1-c6 = BS &Prefix( c6c0 , false )
key L1-c8 = BS &Prefix( c8c0 , false )


#.. 親指
keymap t1 : Global
event after-key-up = &Toggle( Lock1, off )
key L1-c5 = &Prefix( c5t1, false )
key L1-c7 = &Prefix( c7t1, false )

keymap t2 : Global
event after-key-up = &Toggle( Lock1, off )



#. 1鍵
keymap Global

#.. 左
key c1 = &Toggle( Lock1,on ) &Prefix( c1, false ) # 濁 わ
key c2 = &Toggle( Lock1,on ) &Prefix( c2, false ) # た ら
key c3 = &Toggle( Lock1,on ) &Prefix( c3, false ) # は な
key c4 = &Toggle( Lock1,on ) &Prefix( c4, false ) # か ま
key c5 = &Toggle( Lock1,on ) &Prefix( c5, false ) # さ や

#.. 右
key c6 = $uu &Toggle( Lock1,on ) &Prefix( c6, false ) # う
key c7 = $aa &Toggle( Lock1,on ) &Prefix( c7, false ) # あ
key c8 = $oo &Toggle( Lock1,on ) &Prefix( c8, false ) # お
key c9 = $ii &Toggle( Lock1,on ) &Prefix( c9, false ) # い
key c0 = $ee &Toggle( Lock1,on ) &Prefix( c0, false ) # え

key R-c6 = &Ignore
key R-c7 = &Ignore
key R-c8 = &Ignore
key R-c9 = &Ignore
key R-c0 = &Ignore


#.. 親指
key t1 = &Toggle( Lock1,on ) &Prefix( t1, false ) # 親指左
key t2 = &Toggle( Lock1,on ) &Prefix( t2, false ) # 親指右
スポンサーサイト
この記事へのトラックバックURL
http://jisx6004.blog8.fc2.com/tb.php/73-5e746d06
この記事へのトラックバック
この記事へのコメント
&Prefix式でステノワードですか。
Lock羅列式では、10キーまでしかまとに動作できませんでした。
これだと12キーとも同じように処理できるのでしょうか?
定義を見ても、クラクラしてきてしまいます・・・ X-(

> 途中で飽きた
使わないと分かっている配列だと、やはり途中で飽きますよね :-)
Posted by Wine at 2006.08.08 19:57 | 編集
Lock1個で、100鍵同時打鍵でも(理論上は)処理できる筈です。「同時打鍵モードに入っているか否か」を判別しているだけなので。
何かのキーが押されたら、Lockを入れて同時打鍵モードに入ります。その後一個でもキーアップが来たら、Lockを外して同時打鍵モードを抜ける、って具合です。そのうち繭使いの憂鬱にでも書こうと思ってるんですが、ずっと思ったままです。

えいやっで書ける程度の物なら、一気に書き上げちゃえるんですが、こんだけややこしいとさすがに飽きますね。自分で書いてても次の日に見るとどうなってるのか分からなくなります。手書きじゃ無理だなあと思いました
Posted by jisx6004 at 2006.08.08 21:15 | 編集
なんと100鍵同時打鍵でも可能ですか
それこそ相当なややこしさになりそうですね。
> 「同時打鍵モードに入っているか否か」を判別しているだけなので。
なんとなく感覚的に分かりました。解説ありがとうございます。

ちなみに以前にLock羅列で作ったのは
http://d.hatena.ne.jp/Wine/20050907/p1
です。
Posted by Wine at 2006.08.09 00:26 | 編集
CLとSLで12鍵割り当てできませんか?
Posted by じす at 2006.08.09 12:45 | 編集
どうも(^_^)
窓使いの憂鬱初心者です(^_^;
さてさて質問なのですが
Fn+Shift+TabをFn+pに置き換えたいのです。

どうすれば良いですか?
>include "109.mayu" # 109 キーボード設定

>keymap Global
>key Fn+Shift+Tab = Fn+p
と書きましたが無理でした。

それで私もATOK使ってますよ。
2006です。いやー便利です。

ちなみに使用キーボードは「Happy Hacking Keyboard」です。
Posted by 秀島ボイス at 2006.08.30 16:44 | 編集
こんにちは。僕はHHKもってないのでわかりませんねー。
Fnがどんなコードを吐いているのか、あるいはコードを吐かないのかがわからないので。
Posted by jisx6004 at 2006.08.30 18:46 | 編集
 手元にある「HHK Lite2/PS2」では、Fnキーはキーコードを吐かないようです(内部マトリクスの切り替え用?)……全てのHHKに共通かどうかは不明ですが、ひとまず。
Posted by かえで(yfi) at 2006.08.30 20:28 | 編集
管理者にだけ表示を許可する
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。