--.--.--

スポンサーサイト

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

2005.08.25

繭Tips 第4回 ウインドウリサイズ

前回に引き続き、またしても繭小ネタです。古い日記や窓使いの憂鬱本スレにも書いたネタをちょっと洗練させて再登場です。

窓使いの憂鬱にはWindowResizeToという関数があります。ウインドウのサイズを絶対指定で変更する関数です。しかしなぜか相対指定(今のウインドウサイズより1大きく、など)の関数は用意されていません。そこで、&PostMessageを使って実装してみます。


keyseq $WRleft = &PostMessage(ToMainWindow, 274, 0xf001, 0x3b10178)
keyseq $WRright = &PostMessage(ToMainWindow, 274, 0xf002, 0x3b10178)
keyseq $WRtop = &PostMessage(ToMainWindow, 274, 0xf003, 0x3b10178)
keyseq $WRbottom = &PostMessage(ToMainWindow, 274, 0xf006, 0x3b10178)

key A-num4 = &MouseMove( +9,0 ) &Sync $WRleft left enter
key A-S-num4 = &MouseMove( -9,0 ) &Sync $WRleft right enter
key A-num6 = &MouseMove( -9,0 ) &Sync $WRright right enter
key A-S-num6 = &MouseMove( +9,0 ) &Sync $WRright left enter
key A-num8 = &MouseMove( 0,+9 ) &Sync $WRtop up enter
key A-S-num8 = &MouseMove( 0,-9 ) &Sync $WRtop down enter
key A-num2 = &MouseMove( 0,-9 ) &Sync $WRbottom down enter
key A-S-num2 = &MouseMove( 0,+9 ) &Sync $WRbottom up enter

key A-C-num4 = &MouseMove( +1,0 ) &Sync $WRleft C-left enter
key A-C-S-num4 = &MouseMove( -1,0 ) &Sync $WRleft C-right enter
key A-C-num6 = &MouseMove( -1,0 ) &Sync $WRright C-right enter
key A-C-S-num6 = &MouseMove( +1,0 ) &Sync $WRright C-left enter
key A-C-num8 = &MouseMove( 0,+1 ) &Sync $WRtop C-up enter
key A-C-S-num8 = &MouseMove( 0,-1 ) &Sync $WRtop C-down enter
key A-C-num2 = &MouseMove( 0,-1 ) &Sync $WRbottom C-down enter
key A-C-S-num2 = &MouseMove( 0,+1 ) &Sync $WRbottom C-up enter

ウインドウズの標準的な操作の
Alt Space S
で、ウインドウサイズの変更自体は出来ます。これをそのまま定義しても良いのですが、そうすると一回一回メニューが開くことになり、画面がちらちらすること、それから環境と状況次第ではAlt Space でメニューが開かないアプリがあること、そのために、&PostMessageを使っています。&PostMessageで何を送っているのか詳しいことは分かりませんけど(汗。

&MouseMoveを入れないとマウスカーソルがウインドウリサイズと同時に動いてしまいます。そのため、マウスカーソルを逆方向に動かして相殺させています。
また、連続してリサイズしたとき、改行が入ってしまうことがあるので、&Syncを入れています。


話は変わりますが、窓使いの憂鬱本スレで、横スクロールについて質問しています。もし分かる方がいたら教えてください。
スポンサーサイト
Posted at 04:16 | | COM(0) | TB(0) |
2005.08.21

繭tips 第3回

お久しぶりの繭Tipsです。

窓使いの憂鬱には「ワンショットモディファイア」というとても便利な機能があります。

mod Shift = !!Space

この一行で、SpaceキーがShift兼用になります。慣れると手放せない機能なんですが、一つだけ弱点が。ワンショットモディファイアのシフトは、マウスクリックには反応しません。

そこで、窓使いの憂鬱に用意されている別の機能を使って、マウスクリックとも併用できる「SandS」を書いてみます。

#-----
keymap SandS : Global
key R-*Space = &Ignore
key U-*Space = &VK( U-shift ) Space

keymap Global
key D-*Space = &VK( D-shift ) &Prefix( SandS )
key R-*Space = &Ignore
key U-*Space = &VK( U-shift )
#-----

マウスクリックされたかどうか繭には取得判別できないので、スペースキーが
・長く押されたのか(キーリピートがある)
・一瞬押されたのか(キーリピートがない)
だけを見てスペースを送信するかどうかを決めます。

ですから、スペースをしばらく押してから離すと何もしません。また、スペースキーを押してすぐにマウスクリックし、すぐにスペースキーを離したときにはスペースが送信されてしまいます。普通に使う分には特に問題はないと思います。
スペースが押されている間はシフトがかかっていますから、長押ししてから文字キーを押したりマウスクリックしても、もちろんシフトはかかります。スペースキーを単独で長押ししたときだけ、何もしません。

もっと簡潔に書けそうな気もするのですが、とりあえずこれで思った通りに動いているので良しとします(笑)。もっと良い書き方があるぞ、と言う方は是非教えてください。


ちなみに、(第一回でも紹介しましたが)用意されているワンショットモディファイア機能を使った場合でも、
mod shift = !!Space に加えて
key R-*Space = &Ignore
とすることで、「スペースキーを長押ししてから離した場合は何もしない」が出来ます。スペースキーを普通のシフトキーのようにうっかり押してしまうが、間違って押したときはスペースを送信して欲しくない、と言う人は試してみてください。
Posted at 04:09 | | COM(0) | TB(0) |
2005.08.11

T9 (または日本語に「ろ」は必要か)

暑さのせいでハードディスクが一台逝きかかりました。おかげでOS再インストールの羽目に。ファンにホコリが詰まってました。やっぱ基盤むき出しは良くないのだろうか。

で、そのついでにATOK17をインストールしてシステム辞書をテキストに書き出しました。(ATOK2005はシステム辞書を書き出すことはできない)。

なんのためかというと、以前U氏のところでちょっとコメントした似非T9化のため。ちまちまやってても埒があかないので力ワザでやってみることにしました。

手始めに、「ろ」を廃止して「る」に統合したのですが、なんの支障もございません。どういうことかというと「るうにんせい」と打つと「浪人生」と変換されるようになったわけです。「るくどうりんね」で「六道輪廻」に、「ゆうじるう」で「幽次郎」に変換されます。

「ろ」と「る」は行も同じで見た目も似ており、さらに僕の使っている月配列では同じ指の表と裏に該当します。その割に、被って使われる語が少ないので特に上手く行くのでしょう。将来的にはすべてのカナを一打で入力することを目論み、引き続き挑戦していきます。




と思ったけどやっぱり問題が。助詞の「ろ」「(だ)ろう」が上手く行かない。ATOKは助詞を登録できないので「ろ」を廃止するのは難しいな。一応「ろ」を「る」の読みで「接尾語」に登録して見たけどいまいち。残念。WXGは品詞も作れるらしいから上手く行くかもなあ。

Posted at 00:53 | 鍵盤 | COM(11) | TB(1) |
2005.08.03

keyboard layouts

layoutのページで、新しく「その他」の項目を作り、

  • チョイ入力(片手用)

  • 海配列

  • SHIP配列

  • ローナ

  • 片手用Dvorak配列

  • Best evolved layout

  • 2ストたいぷクラブの配列


を紹介するようにした。他になんかあったっけ。
Posted at 23:24 | 鍵盤 | COM(2) | TB(0) |
2005.08.02

月の歴史

歴史と言うほど大げさなものでもないですが、kouyさんのブログに反応してたら長くなったのでトラックバックにします。

過去ログ、僕もたまに読み返しますが、懐かしいですね。月の成り立ちは他の配列に比べて特殊なことがよく分かります。

「な」について。現在の月の原型は1-603ですが、このとき「な」は「T」にありました。「ょ」と「あ」、どちらも頻度はほとんど同じだったのでとりあえず「あ」と入れ替えたけど、試行錯誤の結果やっぱり「ょ」は無シフト面に置いた方が良い(2-12)と言うことでああいう流れになりました。

一番はじめに新JISが中指シフト化されたのは1-144ですね。かなり早い時期に出ていたことになります。
これは単純に「し」「い」がDF、KJに割り当てられた、あくまでも「IMEのキーカスタマイズだけで出来るお試し新JIS」だったんですが、その後「し」「い」が中指上段に来たことと、「な」が左手に来たことが「月配列」にとってのエポックメイキングだったなあと、振り返って思います。

ミラー現象は行か段が同じだと起きやすい、と思ってたけど、kouyさんの体験とも合致しますね。


一番印象に残った書き込みが、これ。

904 名前:jisx6004.tripod.co.jp :03/06/01 22:58
そしてまた配列いじりのトリコが一人・・・



ははは。楽しいですよね、配列いじり。特にカナ系はちまちまいじっていけるのが良いですね。
Posted at 01:05 | 鍵盤 | COM(1) | TB(0) |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。