スポンサーサイト

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

長押し化計画

ようやく『長押し』用のプロジェクトを作ったので、ちびりちびりと『長押しIME』のコードを『長押し』に改造しています。これまでにクラス構成を頭の中で何度も何度も検討したので、それを試しにおおざっぱにですが実装してみました。検討って言っても、同じことを何度も考えたり、クラスの名前をどうしようとかくだらない検討が多いんですけどね・・・。orz

「長押し化計画」の続きを読む

スポンサーサイト

動悸してきた

やばっ、動悸してきた。
これはすごい試合だ。
体に悪い。
延長無いよね?

しゅ~~~~~。

やる気がしぼむ音。
結構難しいなー。

Pauseキーの謎

どのキーで長押しができないのかを調べていて、完全に他と挙動が違うキーがありました。Pauseキーです。前から長押しが効かなさそうだなと気づいてはいましたが、そもそも普段からほとんど使うことがないこのキー、お前は一体何なんだってことで今回少しだけ踏み込んで調べてみることにしました。
(プログラム開発環境でCtrl+Pause=Breakはたまに試みることがあるけど・・・、効くやら効かないやら・・・。)

「Pauseキーの謎」の続きを読む

どうも体調が悪い・・・

昨日は体調が悪く、風呂にも入ることができずに早々と寝てしまい、今頃目が覚めてしまいました。今もそうなんですが妙に汗をかくので、風邪を引いているのかもしれません。のども微妙につまる感じがするので。この微妙な感じが体が弱ってる証拠なのかな・・・。

『長押し(仮称)』について考えてるんですが、そちらもどうもいろんな面で微妙な感じがしてまとまりきらず、急激にやる気がしぼんできました。誰にとっても必要なものではないので、ターゲットをよく絞って考えるべきか・・・。メリットが、ほぼ感覚的な問題なんですよね。

Realforce91

一週間ほど前にキーボードを買いました。打ちやすく疲れにくいと評判のRealforceです。送料込みで17,000円くらいでした。

Realforce91


見てください。このシンプルで美しい外観。惚れました。うちの奥さんに言ったら「・・・分かんない。地味だね。」って言われましたが・・・。(^^;
このキーボードに関する詳しいことはあちらこちらにお任せして、自分なりに気に入った点を挙げてみます。

● 見た目が美しい
かなり主観ですが・・・。

● コンパクト
テンキーが無い分、コンパクトになっています。そのスペースをマウスが使用できます。コンパクトなものに愛着を感じるタイプなので、テンキーが無いことはポイント高いです。

● キーによって重さが違う
Aとか小指で打つものは軽くなっているようです。私の場合、小指や薬指の押し込みが弱く、入力が反映されないときがあったのでありがたい配慮です。また、このキーボードは完全に押し込まなくても入力されるので、それも効いていると思います。

● 音がいい
文字のキーなどは押し込むと「しゅっ、しゅっ」てな空気が抜ける感じの音がします。そして、Enterキーは少し大きめの音がするのもリズムに乗れて良いですね。


キーボードは良いので、自分の基本がなってない正確さに欠けるブラインドタッチを少し改善できないかと考え始めました。そしたら今よりもさらに気持ちよく入力できそうです。(^^)

『長押し(仮称)』開発再開

以前の記事でも書きましたが、実は『長押しIME起動2』は元々作る予定が無く、最初は『長押し(仮称)』というシェアウェアを作ろうと思ってたんです。ところが作ってる途中で忙しくなっちゃったので、とりあえず自分に必要な機能に絞ったものを作ったんですね。『長押し(仮称)』は、IMEのON/OFFに限定しない、もっと汎用的なキーカスタマイズソフトです。一番の特徴は当然ですが「長押し」です。一部のキーを除いてほとんどのキーで長押しが行えます。現在は設定を適用するレベルの検討とユーザーインターフェイスの検討を始めたところです。

他に『IME Plus(仮称)』というのも作り始めてたんですが、最近テンキーレスのキーボードを買いまして、キーが少ない分を『長押し(仮称)』でカバーしたいと思ってきました。ですので先に『長押し(仮称)』を作ろうと思います。今は自分用に『長押しIME起動2』をカスタマイズして、PageUpの長押しで音量プラス、PageDownの長押しで音量マイナスが行えるようにしています。(音量のコントロールにはMOS Master Volume Controllerを使用)
いつできるか分かりませんし、かなりマニアックで需要もないかもしれませんが、一番の目標としては自己満足のために作ろうと思います。(^^)

最近は少し体調が悪く、今日は外出中に落ちそう(気を失いそう)な予感がしました。実際に落ちそうになったのではなく、あくまで予兆となるフッという体を何かがよぎる感覚が何度かあり不安になりました。この先、何が起きるか分かりませんので、早めに作りたいと思ったものを作ってしまいたい気持ちです。
また挫折するかもしれませんが・・・。(^^;

Dさんの長押しIME起動2 Ver.2.5.0正式版公開

『Dさんの長押しIME起動2』のVer.2.5.0の正式版を公開しました。


<Ver.2.0.0からの変更点>

・長押しの判定時間にキーボードのプロパティの「表示までの待ち時間」を 使用せずに、設定ウィンドウで独立して指定できるようにした。
・IME変換中は長押しを無効にするオプションを追加
・スペースキーでは長押ししないオプションを追加
・Enterキーについても連打でリピートが行えるようにした。
・シフトキー無しでCapsLockを入力する機能とシフトキー無しでアンダーバーを入力する機能をオプションにした。
・起動オプション(「/exit」、「/pause」、「/NotUseRunOnce」を追加
・制限アプリと非制限アプリの切り替えが上手く行かない場合がある不具合を修正
・システムトレイを右クリックして停止後、再度右クリックをして再開した 際に設定が正しく読み込まれない不具合を修正
・長押しロジックの調整
・コード整理、細かな不具合修正


<ダウンロード>

長押しIME2アイコン ▼Dさんの長押しIME起動2 Ver.2.5.0 (32.6KB)
■対応OS: Windows2000、XP



これまではキーボードのプロパティの「表示までの待ち時間」に依存した長押し判定を行ってきましたが、その方法ですと(調べた限りでは)最短で250ミリ秒、そこから250ミリ秒単位で全4段階の調整しか行えませんでした。
今回、このVer.1からの基本仕様を変更し、100ミリ秒から400ミリ秒の間で5ミリ秒単位での設定が行えるようにしました。これによって、より軽いタッチでのIMEのON/OFF切り替えが可能になり、よりスムーズな入力を行えるようになるのではないかと期待しています。あまり短い時間に設定し過ぎても、意図しないON/OFF切り替えが発生してしまいますので、最初は少し短めに設定し、意図しない切り替えが多く発生するようでしたら少しずつ長くするように調整していくのが良いかと思います。

長押しアルゴリズム調整中

使っていて特に問題も感じられなかったので、今日Ver.2.5.0正式版を公開しようかと思って準備していたんですが、公開用のプログラムをビルドして準備している段階で一つ改善案を思いついたので、現在は長押しのアルゴリズムを調整中です。
β3を挟むかどうかは決めていませんが、他に何もなければ今週中には正式版を公開できる予定です。

今やっていることは、もう本当に細かいことなんですが、そういった使っている人が気づかないような細かい工夫の積み重ねで長押しは成り立っています。
Ver.2.5になってずいぶん長押しのレスポンスが良くなったように感じてます。(^^)

 『Dさんの長押しIME起動2』Ver.2.5.0β2公開

『Dさんの長押しIME起動2』のVer.2.5.0β2を公開しました。

<Ver.2.5.0β1からの変更点>
・IME変換中は長押しを無効にするオプションが有効時、一太郎(2006で確認)で文字カーソルを加速する設定になっていると、文字カーソルがものすごい勢いで加速してしまう問題を回避
・冗長なコードの整理、不具合修正

▼Dさんの長押しIME起動2 Ver.2.5.0β2 (32.7KB)
※開発中のバージョンにつき、必要がなくなれば削除します。

<既知の不具合>
・β0で修正したEnterキーの連打によるキーリピートが効かなくなっている

 『Dさんの長押しIME起動2』Ver.2.5.0β1公開

『Dさんの長押しIME起動2』のVer.2.5.0β1を公開しました。

<Ver.2.5.0β0からの変更点>
・スペースキーでは長押ししないオプションが正しく機能しない不具合を修

・コード整理

Dさんの長押しIME起動2 Ver.2.5.0β1 (32.9KB)
※開発中のバージョンにつき、必要がなくなれば削除します。

 『Dさんの長押しIME起動2』Ver.2.5.0β0公開

『Dさんの長押しIME起動2』のVer.2.5.0β0を公開しました。

<Ver.2.1.0β1からの変更点>
・長押しの判定時間をキーボードの設定から切り離し、設定ウィンドウで指定できるようにした。
・スペースキーでは長押ししないオプションを追加
↑このバージョンではうまく機能していないようです。次版で修正する予定です。

・Enterキーについても連打でリピートが行えるようにした。
・システムトレイを右クリックして停止後、再度右クリックをして再開した際に設定が正しく読み込まれない不具合を修正
・長押しロジックの細かな調整など

▼Dさんの長押しIME起動2 Ver.2.5.0β0 (32.9KB)

※開発中のバージョンにつき、必要がなくなれば削除します。

今回、根本となる部分の改造を行いましたのでVer.2.5.0としました。これまで長押しを判定する時間はキーボードのプロパティの「表示までの待ち時間」に依存していましたが、これをやめて設定画面で指定できるようにしました。これによって、より短い時間で長押しを行うことができるようになりました。時間を短くしすぎると思わぬところで長押しが効いてしまうことがありますので、ご自分のキー入力の速度に合わせて調節を行ってください。

Ver.2.5.0の設定画面


スライダーコントロール

次の『長押しIME2』では設定画面にスライダーコントロール(トラックバーコントロール)を使用する予定ですが、今までVC++では全くかほとんど使ったことがないので、調べるのに時間がかかってます。本当に基本的なコントロールしか普段は使わないんですよねー。それでもWTLのおかげで少しは楽ですが。

昨日書いた改造ですが、どうやらうまくいってそうな感じなのでバージョンはともかくとして、その方向で進めようと思います。設定項目が増えてきたので、設定画面を整理しようかどうかを考え中です。長押しのロジックにも冗長な点があったり、システムトレイアイコンを右クリックの時に設定が狂ったりする不具合も見つけてしまいました。それらも合わせて修正しています。
設定画面が出来たらβ版をアップしようと思います。

今日はほとんど動いてないのに異常に疲れました。

長押しIME2.5

近頃体調はあまり良くないし、なんだかボーッとするんですが、ことオンラインソフト開発に限っては調子が良いかもしれません。感覚的にはオンラインソフト開発を始めた頃のようです。ボーッとしながら、頭の中で何度も何度も感触を確かめる。今ある何かしらの違和感を確かめているのかもしれません。何かを手探り(脳探り?)で探し求める感じ。

最近眠りに入る前に、やろうかどうしようかと考えていた長押しIMEの改造。やってみようと思いました。いや、実は既にやってみました。長押しIMEエンジンの小改造です。今、実験的なコードで感触を確かめています。効果が認められるようならばバージョンを少し飛ばして2.5にしようかな・・・。
破綻する可能性もありますけど・・・。(^^;

 『Dさんの長押しIME起動2』Ver.2.1.0β1公開

『Dさんの長押しIME起動2』のVer.2.1.0β1を公開しました。

<Ver.2.1.0β0からの変更点>
・コード整理

▼Dさんの長押しIME起動2 Ver.2.1.0β1 (32.1KB)
※開発中のバージョンにつき、必要がなくなれば削除します。

コード整理のみです。不具合修正もありません。このバージョンをしばらく使ってみて問題がなければ正式版となる予定です。

AlwaysUnloadDllの真実

『長押し』のようなフックを使用したプログラムにはEXEの他にDLLが必要で、そのDLLが各プロセスのアドレス空間にロードされることで、他プロセス内のいろいろなイベントをフックすることができます。開発中にはプログラムをビルドし、それをデバッグ実行することを繰り返しますが、各プロセスにロードされたDLLが解放されなくなってしまう場合があります。開発者の都合ではフックが解除された時点でDLLを解放して欲しいのですが、なかなかそうもいかないようです。解放されないとビルドや上書きができないので、あちこちのプロセスを落として回るんですが、最悪の場合にはWindowsをログオフすることになります。
そこで、不要になったDLLをすぐに解放するためのキーワードがAlwaysUnloadDllです。マシンを新しくしたので、再度このAlwaysUnloadDllを設定しようと思ったのですが、やり方を忘れてしまいました。そこで、ネットで調べてみたところ、どうも情報が錯綜してしまっているようです。

【方法1】
レジストリのHKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows
¥CurrentVersion¥Explorer以下にAlwaysUnloadDLLキーを追加する。

【方法2】
レジストリのHKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows
¥CurrentVersion¥Explorer以下にAlwaysUnloadDLLキーを追加し、既定の値を1とする。

【方法3】
レジストリのHKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows
¥CurrentVersion¥ExplorerにAlwaysUnloadDLLというDWORD値を追加し、値を1とする。

う~ん、一体どれが本当なんだ・・・。そもそも私がこのAlwaysUnloadDllを知ったのは「Microsoft Windows 95 プログラマーズガイド」なので、その本によると【方法1】のキーを追加するだけの方法のようです。(値を1にするという記述がないので。)ただし、「キーを追加する」という表現ではなく、「レジストリに次の情報を追加すると、アクティブでない時間を短くできます」という表現になっています。
MSDNにおいても「Unloading the DLL」というトピックに「you can shorten the inactive period by adding the following information to the registry」という記述があり、同様の表現と思われます。下のがMSDNのレジストリ表記です。すべて太字になっています。

HKEY_LOCAL_MACHINE
 Software
  Microsoft
   Windows
    CurrentVersion
     Explorer
      AlwaysUnloadDll


ちなみにMSDNの「Unloading the DLL」のトピックと同じページに「Running and Testing Shell Extensions on Windows NT」というトピックがあり、「To enable this feature, add the following value to the registry. 」とあります。

HKEY_CURRENT_USER
 Software
  Microsoft
   Windows
    CurrentVersion
     Explorer

      DesktopProcess (REG_DWORD)= 1

これはExplorerのデスクトップのプロセスを別にするための設定だと思われますが、こちらは「REG_DWORD」と明示されており、また「DesktopProcess 」だけが太字になっていません。これを見ると、誰かが「DesktopProcess」の設定と混ぜてしまったのかなーとも思えます。

ちなみに私は【方法1】で設定してみましたが、効果の程はいまいちよく分かりません。(^^;
その後、この記事を書くためにネットで調べているとマイクロソフトの技術情報に以下のような記述を見つけました。



HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows
¥CurrentVersion¥Explorer¥AlwaysUnloadDLL

Important This registry key is no longer supported in Microsoft Windows 2000 or later.




えぇ~~~~~~~!!!(T-T)
マジで???
みんな不正解???

MOS Master Volume Controller

久しぶりにデスクトップマシンがメインになりましたが、ThinkPadと違って特別なボタンが付いてない古い106キーボードなので音量調整がとても面倒なことに気がつきました。音はモニターのスピーカーから出ているので、通常ですとモニターの音量ボタンをチマチマと押すか、タスクトレイのスピーカーアイコンで調整するしかありません。

何か音量の調整をホットキーに割り当てられる良いソフトはないかと探してみると、MOS Master Volume Controllerというソフトを見つけました。使ってみたところ、フィーリングがバッチリ。私にしては珍しく一発で気に入りました。
私はミュートをテンキーの「/」、音量を上げるのを「*」、下げるのを「-」に割り当てることにしました。テンキーの演算キーは使っていないので。
ホットキーを押すと、画面中央に音量が%表示され、この表示はレイヤーウィンドウになっており、透過にすることができます。表示はとてもシンプルで好感が持てます。タスクトレイにはスピーカーのマークと音量の百分率の数字で構成されたアイコンが表示されており、ミュート時にはスピーカーのマークが禁止マークに変わります。タスクトレイアイコンのコンテキストメニューからオーディオプロパティにアクセスすることもでき、これは普通のスピーカーアイコンは要らないなーと思いました。

作者さんに感謝。


<9月4日追記>
結局ホットキーの割り当てをミュートをテンキーの「*」、音量を上げるのを「+」、下げるのを「-」としました。当初は「+」キーが他のキーよりも大きいのはどうかと思いましたが、それでも見た目が分かりやすいので。
カレンダー
08 | 2007/09 | 10
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
カテゴリー
最近の記事
最近のコメント
タグ

カメラ GH2 GH3 

ブログ内検索
月別アーカイブ
RSSフィード
プロフィール
●オンラインソフト作家。しかし長らく活動休止中。
ソフトウェア

●Dさんの長押しIME起動2
●IME+ (仮称)

・Dさんの長押しIME起動。
・Dさんの日本語じゃなきゃイヤン。
・Dさんの名前変更お手伝い。
・Dさんのダイヤルアップ接続お手伝い。
・DさんのWindows終了お手伝い。

・お忍びランチャー。
・お忍びリネーム。
・デジくいっくサーチ!
・Simple Remote
・計算王?

※過去の開発ソフトの一部はリンク先からダウンロードできます。

リンク
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。