【漢直】T-Code/TUT-Codeスレ Lesson4【連習】at UNIX
【漢直】T-Code/TUT-Codeスレ Lesson4【連習】 - 暇つぶし2ch471:407
08/11/07 00:27:30
バックスペースの件、解決しました。
本日2回、OS起動後、一度も天狼を起動しない状態で、問題が発生しました。
キーボードをひっくり返してバンバン叩いたら直りました。
天狼開発中はキーボードがおかしくなる事がごくごく普通にあるので、
そんな物理的な要因とはまったく思ってませんでした。
うぅ、スマンです。。

>>468
ちゃんとWikiとリボジトリを用意したいなと思っていた所なので、
それはとても、ありがたいです。
Google Codeを使った事がないのですが、お仲間に入れて頂くには、
どうしたらよいでしょうか。>>468さんは、中の人ですか?

>>469
モードですか。今の所、モードらしいモードはなく、config.jsの
書き換えで対応するわけですが、例えば設定用のXMLファイルを読
み込み、GUIで切り替え可能な物等、ちょっと面白そうですね。
config.jsは非常に自由度が高いんじゃないかと思ってますが、
敷居の高さが否めないと思いますので、興味ある所です。


472:名無しさん@お腹いっぱい。
08/11/07 00:36:17
>天狼作者様

漢直で、Shift+任意のキー を定義するにはどうしたらいいですか?
たとえば、
'Ao' : '合',
というような定義で、Shift+a o のストロークを表したいと思ったのですが、できないようなので……

473:468
08/11/07 00:54:33
>>471
残念ながら中の人ではないです…。すみません。
ソースを見られれば何かと不具合報告・改善提案がやりやすいかと思ったまでです。

Google のアカウントで
URLリンク(groups.google.com)
にアクセスしてユーザグループに参加した上で
プロジェクトのオーナーに連絡すればdeveloperになれるようです。


474:名無しさん@お腹いっぱい。
08/11/07 22:03:00
>>469
> いっそ本格的に「モード」を作ってもらえると、
> カンテックやKISや日本語倉頡ができて面白そうなんだけどな。

漢字とかなの切り替えはどうやるのかが明らかになってないし、
そもそも029キーボードの利用を前提としているのに、どうやって実現させるのさ > カンテック KIS

475:407
08/11/09 11:30:27
新バージョン作成中です

>>472 シフトの件
あんまり想定してませんでした。
今の仕様だと、やってできない事はないけど、相当スクリプトを書かなくて
はならないので面倒臭いです。楽に記述できるようにしたいと思います。
ただ、どうせやるなら他のモディファイアにも対応させたいので、

'(S+)ao' : '合' // 'shift+a' の次に 'o'を押すと'合'を出力
'(S+)a(C+)o' : '会' // 'shift+a'の次に'ctrl+o'を押すと'会'を出力

こんな感じを考えてます。ところでシフトを使う配列って、何て言う配列ですか?

>>473 Google Codeの件
教えて頂いて、ありがとうございます。サイトやリポジトリについては、実は私も
一応準備中です。と言うわけで、準備できたらいずれ自分の所でやってみます。

= 1.03の予定(あくまで予定) =
* VK_RSHIFT、VK_RCONTROL、VK_RMENUがうまく扱えてないので修正
* アプリごとにキー配列を変更可能にするための措置(カレントウィンドウをModifierに)
* 押すたびに漢直の配列を変更できたりするモードスイッチを、任意キーに指定する機能
* ウィンドウ制御(カレントウィンドウの移動、サイズ変更、最大化、縮小化等)
* キーマップ追加(vi、emacs、wordstarライクなキー配列のスケルトン)
* カタカナモード

機能的にはこの辺で一度締めて、以後はデバッグとマニュアル、MS-IME以外の環境
への対応の模索等、やりたいと思っています。
「こんな機能があれば素晴らしい!」というのがあれば、今のうちに教えて
いただけると、ありがたいです。


476:名無しさん@お腹いっぱい。
08/11/09 12:30:17
>>466
何やら良く解っていない所がありますが、とにかく
デ、キタ━ヾ(   )ノ゛ヾ( ゚д)ノ゛ヾ(゚д゚)ノ゛ヾ(д゚ )ノ゛ヾ(  )ノ゛━!!

IMESTR/ 追加でIME変換中に意図した動作となりました。

また、↓こんな風に config.js に書き加えてEmacs風のkey bindingsをテスト中です。
URLリンク(homepage3.nifty.com)
かなりいい加減に書いてあるので、とりあえず取り扱い注意ということで。

これで他ツールとの組み合せなしに天狼だけでの入力テストを開始しました。

477:名無しさん@お腹いっぱい。
08/11/09 17:52:36
>>475
> こんな感じを考えてます。ところでシフトを使う配列って、何て言う配列ですか?

俺は>>472じゃないけど代わりに言うと、「百相鍵盤『き』」がその一つに該当する。
URLリンク(www.cs.k.tsukuba-tech.ac.jp)

シフト打鍵を組み合わせることで、第2水準までの漢字すべてを2打で出力できるようになっている。
俺も一度TUT-Codeから移行しようとしたけど、シフト/アンシフトで記憶の混乱が起きて挫折した経緯がある。

478:名無しさん@お腹いっぱい。
08/11/09 22:33:12
>>475
おつかれさまです。
機能がbin layerに依存するのか、それともJavaScript layerに依存するのかが勉強不足で分っていないまま
お願いするのも何なのですが、とりあえず機能リクエストとして、

一つめは、keydown、keypress、keyupの3つのEventにそれぞれ設定を書けると楽しいです。

次に >>447で書いたケースになりますが

'/kk' : 'ご',
'/kks' : 'ございました',
'/kks/' : 'ごた',
'/kks/k' : 'ごたご',

今はこの設定記述だけだとT-code入力で『ごの』、『ごに』などが入力できません。

'/kkd' : 'ごの',
'/kkg' : 'ごに',

という具合に、入力できない組み合せをどんどん追加していけば良いのですが、
このような記述無しでも入力できるようになると有難いです。

何故このようなことに拘ってしまうかと言いますと、
自分のやりたい拡張設定としては今のままだときっと六千行ぐらい書かなければならないと思うので、
できるだけ手間と天狼が必要とするUsage memoryを削減したいためです。

ちょっと想定外だとは思いますが、'/kks' : 'ございました', の設定で /kk までの入力で
kHelperの表示が以下のようになります。
URLリンク(homepage3.nifty.com)

479:名無しさん@お腹いっぱい。
08/11/10 21:41:09
>>475
どうもありがとうございます!
>>477
その通り、百相鍵盤『き』です。
正確には、玄人向け (kHelper向け?) にかなり改変していますが、基本は一緒です。

480:名無しさん@お腹いっぱい。
08/11/10 22:28:53
横からだけど俺もWin98の頃に「き」を使ってたから懐かしいな
期待大

481:407
08/11/11 05:07:33
>>476
すげ…
これを時期バージョンに入れたかったのです。mark_modeもしっかり動いてます。
ろくなマニュアルもまだ無いのに、素晴らしい。。
これをですね、

(function () {
// ここに本体(コピペで大丈夫)
return map_global;
})();

と書くと、config.sysとは別ファイルに保存して利用できます。で、config.jsでは、

includeMap('IMESTR/', sirius.require('emacs.js')),

こう書く事で呼び出せます。呼び出し部分で'IMESTR/'が効くので、本体内で
'IMESTR/'と書かれている所を全削除しても大丈夫なはずです。これだと
IME作業中にストロークを持っていかれるのを好む人とそうでない人で
両方使えますね。

sirius.require()はC言語のinclude文に相当するわけですが、検索は、

1. インクルード元のファイルからの相対パス
2. config.jsの存在するディレクトリからの相対パス
3. 'インストールディレクトリ/scripts' からの相対パス

の順にファイルを検索します。なので、config.jsと同じディレクトリに保存
しておけば、天狼本体のバージョンアップ時もメンテが楽になるし、複数人で
同一PCを利用する環境でも運用性が高まります。


482:407
08/11/11 05:23:14
>>477 >>479 >>480 「き」の件
「き」ってそういう配列なんですね。名前しか知りませんでした。
次期バージョンで対応したいと思います。

>>478
>一つめは、keydown、keypress、keyupの3つのEventにそれぞれ設定を書けると楽しいです。
やってみたいと思います。実は今でもフックという機能で出来ます。
加えて、同時押しに対応させれば、nicoraやSandS もできるようになるので
すが、この辺は全部含めて、次々々バージョンにやりたいと思います。

>kHelperの表示が以下のようになります。
先にこっちを。
なるほど、確かにこうなってしまいますね。。なんとかするとしたら1文字目
のみ表示し、その場合は色を変える等、別の文字が続いている事を示すように
する他ないでしょうか。ただ、いっそこのままの方が表示は崩れるけど、使い
やすいような気もします(手抜きですが)。どうでしょう?


483:407
08/11/11 05:29:25
>>478
>次に >>447で書いたケースになりますが
状況確認しました。>>447の段階では案内してもらったマップ単体でテスト
したのですが、これをt-codeの配列と絡めた時に問題が発生するという話しなんですね。

これはなんとかしたいと思うのですが、やるとしたら

1. 後続ストロークに定義されていない入力を確認した場合、未確定部分をストローク
開始とみなし、最新の入力をそれに加える。
2. 未確定部分と最新入力を加えたストロークが存在すればその文字を出力する
3. 存在しなければ最新入力を1ストローク目として解釈する

という仕様になると思うのです。つまり、「'/kk' : 'ご'」は、どうしても
邪魔になってしまいます。仮に

'/k' : 'ご',
'kd' : 'の',
'/kks' : 'ございました',
'/kks/' : 'ごた',
'/kks/k' : 'ごたご',

これだけだった場合、'/kk'と入力された時、「ごk」と表示され、「k」が余っている
状態です。ここで「d」を入力すると、'/kkd'という並びが存在しないので、余っている
「k」を1ストローク目とみなし、「kd」を得られるので「の」を出力する事が出来るよ
うになると思います。

だけど、「'/kk' : ご」があると、余り分がなくなってしまうので、「d」から始まる
ストロークと認識しなくてはならない。という感じです。
'/k'で「ご」が確定しているのに'/kk'でさらに「ご」を定義しているのは何か意味が
あると思うのですが、どういう意図でしょうか。


484:名無しさん@お腹いっぱい。
08/11/13 00:40:52
>>481
なるほど、lambdaみたいなもんなんですね。

C-u universal-argument や keyboard macro、abbrev、completionなんかも
できたらいいので勉強してみます。

Window Title や Class で条件分岐できるようになったら
Emacs の Global Bindings をできるだけ作って、試してみます。
結果はまた報告します。

>>482
kHelperの件ですが、表示はこのままで全く良いですー
これは "入力中文字ガイド"の表示の話ではなくて、
"入力済文字ガイド" がちょっと見にくいかな? ってな程度の話でした (^^;ゞ

しかしまあkHelperは最高に便利! です。

485:名無しさん@お腹いっぱい。
08/11/13 01:26:03
>>483
「'/kk' : 'ご'」があると余り分がなくなってしまう件、
現状のままでも自分のやりたいことはできますので、このまま変更されなくてもOKです。
モディファイアが拡張された後でまた考えてみて、必要があったらリクエストしようと思います。

「'/kk' : ご」は何かと言いますと、ちょっと解り難いと思うので、以下超絶技巧入力の例で

'tc' : '第',
'tcx' : '超', // ←これやら
'tcxz' : '超絶',

'da' : '言',
'daz' : '謎', // ←これみたい
'dazn' : '言迷',

な設定をT-codeで作っていき、これが使えるのか? ある程度の数設定を作ると、
問題無く文が書けるのだろうか? と試してみているのです。
それで前回は六千行ぐらい設定を作ったら、
何をやっているのかが解らなくなってしまったというオチでした orz

天狼のmapがJavaScriptだけで実現されているならば、自分で考えて拡張が可能だと思いますので
これもやってみようと思います。

Trieのような順序付き木構造と、Cannaの設定のように

'/kk' : 'ご' : 'k', // 三つめの'k'は余りとして次のストロークの組み合せに渡す

というのをやってみたいっっ、です。

486:407
08/11/16 17:00:20
>>484
>なるほど、lambdaみたいなもんなんですね。
ですね。JavaScript(仕様としてはECMAScript、実装としてはJScript)は、わりとlisp
みたいな面があると思います。クロージャも使えます。
この辺は私が仕様考えたり、実装したりしたわけじゃなく、JavaScriptそのままです。

>>485
>現状のままでも自分のやりたいことはできますので、このまま変更されなくてもOKです。
>モディファイアが拡張された後でまた考えてみて、必要があったらリクエストしようと思います。
了解です。

>天狼のmapがJavaScriptだけで実現されているならば、自分で考えて拡張が可能だと思いますので
mapの制御はほぼ99%、JavaScriptで実装されています。残りの1%は、ループ内で頻繁に利用される
関数がJavaScriptでは遅いので、便宜上作成したユーティリティ関数を利用している部分です。
(sirius.vk()、sirius.require()、sirius.vkString()等)。

と言うわけで、色々カスタマイズは可能だと思いますので、是非やってみて
下さい。

それと、ver 1.03はまだ開発中です。。
今ん所、終わったのは以下のような所です。

* VK_RSHIFT、VK_RCONTROL、VK_RMENUがうまく扱えてないので修正
* カタカナモード (ついでに半角モードも)
* 「き」等に対応させるために漢直マップにモディファイアを記述できるようにする

あと、Window制御が出来るようになったら、またアップします。


487:名無しさん@お腹いっぱい。
08/11/16 19:16:46
wktk

488:名無しさん@お腹いっぱい。
08/11/16 19:48:00
おぉ

489:変型『き』使い
08/11/21 16:07:49
天狼の作者さんにお願い・質問なんですが、
kHelperにスペースキーを表示することはできますか?
JIS第二水準漢字までの漢字と、その他主要な文字を収録するには、最低限、シフトキーに加えて41個のキーが必要なもので。

490:407
08/11/22 22:25:48
>>489
kHelperにスペースキーを表示することはできますか?

現状では出来ないです。スペースキーどころか、
-@:\^][\ ←この辺のキーボードの右側に集まっているキーが表示できないのが現状です。
なんとかしたいと思いますが、ver 1.05以降で対応したいです。

それと、ver 1.03がなかなかアップできなくて申し訳ないです。
この連休で作業しようと思っていたのですが、仕事が残ってしまいました。。。

もうチョット、待って下さいね。

491:名無しさん@お腹いっぱい。
08/11/25 18:46:46
固唾を飲んで見守っています……


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch