レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
ユーザーサポート
こちらは、汎用キーバインディング変更ソフト「のどか」サポート掲示板です。公序良俗に反する記載内容や、個人情報が記載された場合、削除することがあります。
早速のご回答ありがとうございます。
もしかしたら興味のある方もおられるかと思い、こちらからご報告さしあげます。
ご用意いただいた4.10で上記のスクリプトを試したところ、おっしゃるように正しく出力されます。
ただ、&Syncを使用した別のスクリプト(実はこちらが本命)を実行してみると、4.09では起こらなかった「5秒フリーズ」の問題が発生しました。
これに関してはアプリケーションを問わず発生するようなので、やはり&Syncまわりが以前のバージョンから相当変わっているようです。
具体的にスクリプトの該当部分を示しますと、(かな入力モードで)
key IL-*IC-_1 = &SetImeConvStatus(0x0008) &Sync _1 &Sync &SetImeConvStatus(0x0009)
のようにして、最上段のキーから刻印通りの数字を入力できるようにしています。
先般のテストはこのスクリプトからIME関連の問題を切り離してみたものです。
今回の結果で、やはりIME操作の関数にも原因があるのかという疑いが復活しましたが。
生憎その種の知識の乏しい私には、
&SetImeConvStatusのような比較的「時間のかかる」処理に&Syncが「カチ合う」と、同期に問題が起こる
といった程度の漠然としたイメージしか湧きません。
私より高度な検証をおこなえる方にβを試してもらう、というのは有意義なことと考えます。
署名あり版のリリースを控えておられる現状では、いろいろと煩雑でしょうが……
>>70
どうも追試並びに御報告 大変ありがとうございます。
&Syncのところは、x64対応に際し同じ動きになるように組んだつもりでしたが
微妙に違うようです。広くβテストするレベルではないことが分かったので
今しばらく、お待ちください。
>>70
key T = &ClipboardCopy("A") &Sync C-V B &Sync &ClipboardCopy("C") &Sync C-V
ですが、窓使いの憂鬱 3.30とFirefoxの組み合わせで
AbCとならず、CbCと入力されることを確認しました。
あらかじめ、クリップボードに違う文字をいれてあっても
CbCと入力されます。
潜在していた不具合であると言えると考え、また御推察どおりということに
なります。
のどか 4.10 x64版では、Firefoxを含む、IE x64やWordPad32などでも
同じ事象が発生するが、各機能ごとにログを表示するようにして、各機能
が順序通り動作していることを確認しました。
特に、CbCとして入力されてしまうケースでは、最初の&ClipboardCopy("A")が
一度も実行されていませんし、後半の&ClipboardCopy("C")が、キー入力
よりも先に入力されていることになります。
結局、&Syncは、開始順序は正しくなるよう機能するが、それぞれの&Functionの
終了は見ることが出来ないので、&Functionの働かないことがあり
そのようなケースでは&Waitの使用を検討すべきということであろうと考えます。
現状 &Syncのタイムアウトが発生するようにしか直せなかったために
今後とも継続して、検討することになるでしょうが、しばらくは直せない
ということになります。大変申し訳ありません。
合同会社アプレット、設立おめでとうございます。
>>72
窓使いの憂鬱の過去バージョンの検証はこちらで行うべきだったかも知れません。
お手数をおかけしました。
現状で解決の糸口がみつからないのは残念ですが、そこは汎用性の高いのどかのことですから
当面はケースバイケースで回避策をさがしていきたいと思います。
署名あり版のリリースもふくめ、今後の発展に期待をかけております。
4.10を使ってみました。
設定ファイルの文字コードがUTF-8だとnodoka.exeが落ちます。
ShiftJISに変更すると問題なく動きました。
たしか4.07辺りはUTF-8でも動いていたように思います。
環境は
WindowsVista 32bit Ultimete
のどか4.10
深刻な問題というわけでもありませんがとりあえずご報告まで。
早速の御利用並びに、御報告、大変ありがとうございます。
再現致しました。4.06はOKですが、4.07, 4.07a, 4.08, 4.09, 4.10は
すべて、UTF-8の設定ファイルを読み込むと落ちます。
コンパイラ変更時の修正が充分で無いことが原因であろうと考えます。
他の不具合があるかもしれませんが、放置されていたバグということになるので
できるだけ、早い時期に修正致します。
重ねて、大変ありがとうございました。
あまり私はこっち系は詳しくないのですが
試用版をしてみました。
某シューティングゲーム(東方)をするときにキー配列を変えてみたいと思い・・。
これはシフトを押しながら低速移動するのですが
keymap Global
key Up = I
key I = Up
key Down = K
key K = Down
key Left = J
key J = Left
key Right = L
key L = Right
このように変更したあとにシフトキーを押しながら移動したりすると
シフトキーを押した後に他のキーを離したり入力したりする認識がされないようです。
ずっと一方向に動いていってとまらないような感じです。
対処方法はあるのでしょうか・・?
連レス済みません。
他のキーとは設定したIKJLのことです。
体験版も含み、同じ症状がでています。
>76,77
お世話になっています。下記で、いかがでしょうか。
御参考 ヘルプ 6. チュートリアル tutorial
vi. モディファイヤキーの状態と無関係に置き換えてみる の後半。
keymap Global
key *Up = *I
key *I = *Up
key *Down = *K
key *K = *Down
key *Left = *J
key *J = *Left
key *Right = *L
key *L = *Right
こんなに早く返信が頂けるとは・・・ありがとうございます!
大体ちゃんと動作するようになりました。
「モディファイア」の意味が分からず少し飛ばして読んでいたところのようです;;
申し訳ないです
「ほかに設定が必要でしょうか?」
ESC <-> 全角/半角 と 変換・無変換に ToggleIME を設定している位なのですが、 IME 使用中に IME がオフになる場合があります。
-----------------------
OS :WS08R2 x64
IME:ATOK2008(32bit)
-----------------------
のどか設定
-----------------------
### ESC <-> 全角/半角 ###
key Esc = 半角/全角
key 半角/全角 = Esc
### 変換&カナ/かな -> Toggle IME ###
key *変換 = $ToggleIME
key *ひらがな = $ToggleIME
-----------------------
[問題の再現]
IME オンの状態にする。
IME で文字を入力。仮名漢字変換を[確定(return)]する前に、 ESC(キーとしては[全角/半角])を押すと、 IME がオフになる。また変換中の文字も消える。
IME が MS-IME2007 の場合は、仮名漢字変換確定前の状態で IME だけが ON/OFF になる。
[考察]
仮名漢字変換中はキーフックできずに、 ESC ではなく元のキーの[全角/半角]として動作してしまっている様子。(なので、 ATOK と MS-IME では入力が消える/そのままの見た目の差が出ているが、動作的には IME の ON/OFF が行われているような状況と思われる。)
[ということで]
仮名漢字入力中でも、のどかの設定を活かすには、下記の設定以外(-= ?)が必要なのでしょうか?
-----------------------
key Esc = 半角/全角
key 半角/全角 = Esc
-----------------------
>>80
お問い合わせありがとうございます。
ヘルプの8. カスタマイズ i.モディファイヤキーの無視にあるように、デフォルトモディファイヤーの中で
IL, IC がそれぞれ、*IL, ~IC になっているため、IME変換中すなわち、ICの時には、Escと半角/全角の入れ替えが
無効になっています。御推察の通りです。
従って、キー名の前に*をつけてやれば、ICも無視されるようになり、例えば、下記のような設定ファイルとなります。
ヘルプの7. Q&A Q.6, Q.7 にあるように、*IC-をつけるか、デフォルトモディファイヤー自身を変更するのも良いでしょう。
Windows 7 x86/x64 において、付属IMEにて確認しました。Escを押しても、入力した文字が消えるのみで、IMEはオフになりません。
include "109.nodoka"
keymap Global
### ESC <-> 全角/半角 ###
key *Esc = *半角/全角
key *半角/全角 = *Esc
### 変換&カナ/かな -> Toggle IME ###
key *変換 = $ToggleIME
key *ひらがな = $ToggleIME
Re: 81
素早い回答ありがとうございます。
WS08R2+ATOK2008 環境でも、意図した動作になりました。
ヘルプはざっくり読んだのですが、なかなか難しくて・・・。
大変助かりましたm(__)m
はじめまして。よろしくお願いします。
XPで使っていたパソコンのHDDが突然クラッシュしてしまい、急遽 Windows7(32ビット版) のパソコン(東芝EX /55kbl)を買いました。
大分Windows7の扱いにもなれて苦労して自分の好みの環境構築もできてきました。
しかし、XPで使っていた「猫まねき」がうまく使えないので、「のどか」の正規版を購入してみました。
まだインストールしていません。少し不安があるからです。せっかく苦労して構築した環境が壊れてしまったっり、
リカバリーしなければならないような事態にならないか心配です。それと何かプログラムのようなものを書かないと使えないのだろうかという心配です。
何事にも絶対ということはないのは分かっていますが、「のどか」をインストールしても、そんなに心配することはないでしょうか。
それと、プログラムのようなものを書かないと使えないソフトでしょうか。
よろしくお願いします。
>>83
お買い上げ大変ありがとうございます。
>せっかく苦労して構築した環境が壊れてしまったり、リカバリーしなければならないような事態にならないか心配です。
そのような事例は、のどか においては、伺っておりません。可能性は低いと考えます。
>それと何かプログラムのようなものを書かないと使えないのだろうかという心配です。
設定ファイルのことでしたら、そういうことになりますが、実施したいことによります。
単純なキー入れ替えの場合ならば、モディファイヤーキー(Ctrl, Alt, Shift, Winキー)を考慮するところで
一つのハードルがあります。このスレッドの >>81 などや、ヘルプをご覧頂き、ご不明な点は
お問い合わせ下されば、可能な限り対応致します。
よろしくお願いいたします。
早速のご回答ありがとうございます。
>単純なキー入れ替えの場合ならば、モディファイヤーキー(Ctrl, Alt, Shift, Winキー)を考慮するところで
一つのハードルがあります。このスレッドの >>81 などや、ヘルプをご覧頂き
このことがよく分かりませんが、要するに「猫まねき」のように、CAPS LOCK を CTRL に変えたり、「無変換」キーでIMEをon,offしたりというようなことなら簡単にできるということですね。
はい。dot.nodokaファイルは、下記のような感じとなるでしょう。
各キーの指定時の名称は、ヘルプ A 補足 appendix vi. キー配列定義をご覧ください。
#-----------------------------------
include "109.nodoka"
keymap Global
### 英数-> 左コントロール ###
mod control += 英数
key *英数 = *LeftControl
### 左コントロール-> 英数 ###
mod control -= LeftControl
key *LeftControl = *英数
### 無変換 -> IME ON/OFF ###
key *無変換 = $ToggleIME
7対応になったとの事ですが
64bit版7で、nProとの競合は起こらないでしょうか?
以前XPで使っていたとき、ネトゲに含まれているnProがのどかを検出?するのか
起動しているとキー入力ができなくなってしまうということがありました。
別にネトゲで使っているわけではないのですが、のどかはスタートアップに入れていて常時つけっぱなしなので
その状態でゲームをする→キー入力ができなくなる となっていました。
ゲームするときだけ終了させればいいんですが、のどか終了→ゲーム→ゲーム終了→のどか起動
みたいにいちいちやるのが面倒でのどかを封印していたのですが
もし動作するのであれば7の64bitを購入しようかなと。
>>87
お問い合わせありがとうございます。
nProtect GameGuard によって、「のどか」が検出され、以降キー入力が出来なくなり
プロテクトされる問題に関しては、特に対策を実施していないので、nPro側で除外されない限り
挙動は同じとなると考えます。
>のどか終了→ゲーム→ゲーム終了→のどか起動
を実現する nshell.exe を同梱していますが
テスト対象としていた LaTaleというゲームでは
プロテクトされなくなったので、nProtectとの併用時の挙動については、確認できていません。
ありがとうございました。
ヘルプなども書いてあることが難しく、よく分からなかったのですが、
多分こうだろうと手探りでやりましたが、うまくいきました。
感動です。自分のやりたかったことがずばりできるようになりました。
自分が一番したかったことは、CAPS LOCK → CTRL , 無変換、変換、かな/カナ→IME on/off
これができたのが最高です。この調子なら他のこともできそうに思えました。
ありがとうございました。またよろしくお願いします。
>>89
御報告大変ありがとうございます。また、うまく行ったとのこと、素晴らしいです。
今後とも、よろしくお願いいたします。
はじめまして。大変心地よく nodoka を使っております。
1つ困ったことがありまして、お伺いしたいことがあります。
現在、nodoka を使用して IME 制御を行っております。
key *IC-C-Yen = &SetImeStatus(on)
key *IC-C-CircumflexAccent = &SetImeStatus(off)
このように IME のオンオフを切り替えるように設定しています。
これ自体は正常に動作しているようなのですが、IME を制御するアプリケーションで
この切り替えが動作しなくなることがあります。
現在その現象を確認しているのは bluewind というアプリケーションと、
自作アプリケーションです。
その現象とは、あるタイミングでアプリケーションが自動的に IME をオフにすると
その後 nodoka SetImeStatus(on) が有効にならないというものです。
半角/全角キーだとオンオフが可能で、その後は SetImeStatus(on) が有効になります。
自作のほうは C# + .NET Framework で次のようなコードで実現しています。
IntPtr ime_handle = (IntPtr)ImmGetContext(this.Handle);
uint conv = 0, sent = 0;
ImmGetConversionStatus(ime_handle, ref conv, ref sent);
int result = ImmSetConversionStatus(ime_handle, IME_CMODE_ALPHANUMERIC, sent);
IME がオンのときにこのコードを実行するとオフになります。
この後 SetImeStatus(on) を行ってもオンになっていないように見えます。
ただ、そのときもう一度上のコードを実行し
ImmGetConversionStatus(ime_handle, ref conv, ref sent);
直後の conv の値を調べると
IME_CMODE_NATIVE | IME_CMODE_FULLSHAPE | IME_CMODE_ROMAN (数値では25)
となっており、IME がオンの状態と同じです。
半角/全角キーで正常に動作し、nodoka の SetImeStatus(on) で意図通り動作しないので、
nodoka ではどのように制御しているのか教えていただけないでしょうか?
以上です。
>>91
こんにちは。お問い合わせありがとうございます。
>nodoka ではどのように制御しているのか教えていただけないでしょうか?
hook.cpp の funcSetImeStatus(HWND i_hwnd, int i_status)となります。
http://sourceforge.jp/projects/nodoka4/svn/view/nodoka/branches/nodoka_4.10/dll/hook.cpp?view=markup&root=nodoka4
bStatus = ImmSetOpenStatus(hIMC, bSetStatus);
>>92
ありがとうございます。
ソースコードが公開されていたのですね。
参考に制御方法を ImmSetConversionStatus から ImmSetOpenStatus に変更したら挙動が変わりました。
直接解決はしていませんが、
key *IC-C-Yen = &SetImeStatus(off) &Sync &SetImeStatus(on)
としたら正常に動作するようになりました。
ありがとうございます。
>>93
どうにか、間接的にせよ、解決できた御様子。御報告大変ありがとうございます。
うまく操作できないアプリも存在するので、その場合でも
IME ONしてからOFFするというのは、意味があるのかも知れませんね。
のどか ver4.10 を使っていて、どうもCPU使用率が高めで
何もしていなくてもCPUが安定しないため、
Windows7 x64 UltimateEdition (PhenomII X4 945/nforce720D/RadeonHD4550),
Windows7 x86 UltimateEdition (Atom Z550/US15W)
WindowsXP Professional Edition (Athlon X2 5000+BE/Geforce7050) の
3PCで試しましたが、どれもCPUに関係なく一様に10%程度CPU使用率が
高い状態で常時変動しつづけます。
OSはクリーンインストールして試しています。
以前はそんなことはなかったように記憶しているのですが、
なにか検討がつくようなことがありましたらお教えください。
>>95
お問い合わせ ありがとうございます。
http://sourceforge.jp/ticket/browse.php?group_id=3682&tid=19323
のチケット(バグ)と同じ原因であろうと考えます。
x64の実行ファイルと、x64,x86のDLLとの間での情報共有の方式を4.10では変更したことによるものと
考えております。現在、最優先で、本対策を実施しようとしておりますが、まだ実現しておりません。
今しばらく、お待ちください。
こんにちは。
4.11を準備中です。exeとdll間で情報共有にレジストリを使うという良くない実装を改め
共有メモリに変更しています。
お試しされたい方がいらしたら、別途 applet@bp.iij4u.or.jpまで、御連絡下さい。
修正内容(暫定)は下記となります。
・実行ファイル、DLL間の情報共有をレジストリから共有メモリに戻し、性能向上させた。
また、その結果不要となったレジストリを削除するようにした。
・設定ファイルの文字コードがUTF-8のものを読み込むとアプリケーションエラーとなるのを修正した。
・DLL Detachの際、SendMessageTimeout()使用をやめて、SendNotifyMessage()とし、
未開放なウィンドウを残すアプリ終了時に、そのアプリがアプリケーションエラーとなることを解消させた。
・Windows 7 x64において、上書きインストールが失敗することがあることを修正した。
・インストール時に のどか が動作中であった場合、終了できるようにした。
・&MayuDialog, &CancelPrefixを追加し、窓使いの憂鬱及びYAMYとの互換性を高めた。
YAMYの著作権表記を追加した。
はじめまして,「けんちんぢる」と申します。
元々mayuを使っておりまして,会社で使っているPCをいよいよWin7にすることになり,困っていたらnodokaを探し当てました。
もちろん,すぐに購入しました。
喜び勇んでインストールしたのですが,赤い●にバッテンのダイアログで「サーバーから紹介が返ってきました。」という謎のメッセージが表示され,nodokaが起動しませんでした。
イベントログを見ると,次のようなエラーが出ておりました。
ログの名前: Application
ソース: Microsoft-Windows-CAPI2
日付: ********
イベント ID: 4110
タスクのカテゴリ: なし
レベル: エラー
キーワード: クラシック
ユーザー: N/A
コンピューター: ********
説明:
次のエラーが原因で、サード パーティ ルート証明機関ストアに証明書を追加できませんでした: 証明書チェーンを、信頼されたルート機関として構築できませんでした。
インストール時には,administratorでログインし,ウィルスチェックソフトはオフにしてあります。
と,ここでハッと我に返って,ローカルのadministratorでログインせねばダメなのかと思いまして,やってみたところ,問題がなくなりました。
実は,PCは会社のネットワークに接続しているので,ドメインに参加しており,当然作業はドメインのadministratorでした。
今まで,同じ管理者権限があるユーザーでも,ローカルかドメインかの違いでインストールできなかったことがなかったもので,気付くのが遅くなってしまいましたが,証明書はローカルに保存するのでローカルなのかなと理解しております。
他に,同じく悩んでいる方がいるかも知れないと思い,投稿させていただきました。
今後とも,よろしくお願いします。
御報告大変ありがとうございます。
ドメインコントローラのルート証明書のアップデイトが実施されていないのかもしれません。
マニフェストに、uiAccess="true" がついているので、ローカルPCでも、Windows XP無印などの場合で
Windows Updateを実施していないと、同様のエラーダイアログが表示されることがあります。
この「サーバーから紹介が返ってきました。」という意味不明のエラーダイアログは、実行ファイルについている
署名の認証に失敗したというエラーメッセージです。
64bit版Windows7でのどか 4.11を利用しています。
テストのために設定ファイルは日本語109キーボード(Emacs風)にしています。
この設定でたとえばC:\Windows\notepad.exeを起動したとします。
CTRLを押しっぱなしにして初めてPを押すと↑と同じ動作をするはずですが
Notepad上でカーソルは上に行きません。
この状態からCTRLを離さずにさらにPを押すと初めてカーソルが上に移動します。
以降CTRLを離さずにPを押すとその分だけカーソルが上に行きます。
CTRL+Nに関しても同じで、一回目のNには反応しませんが二回目以降のNには反応します。
あと、CTRL+B,Fに関しては
最初の一回はCTRL+←,→と同様に動作し
(ているように見える。つまり行頭もしくは行末にカーソルが移動する)
二回目以降は普通の←,→として動作します。
気になって調べたところ、この現象は4.10でも発生していました。
ただ同じ現象は32bit版XPでは発生しません。(これは別マシンです)
マシンが悪いのかよくわからないのですが
同じような現象が発生しているユーザはいませんか?
>>100
書き込みどうもです。
1. Ctrl-P,Ctrl-N,Ctrl-B,Ctrl-F が所定の動作をしない件ですが
Windows 7 x64環境で、書かれた症状は発生しませんでした。
それぞれ メモ帳の上で、カーソルキーのUp,Down,Left,Rightとして
動作しているように見えます。
2. Ctrl-B, Ctrl-F がそれぞれ、行頭、行末に行くとのことですが
c:\Program Files\nodoka\emacsedit.nodoka の設定では、下記であり
key C-A = Home #行頭
key C-B = Left # ←
key C-E = End # 行末
key C-F = Right # →
B,Fで、それぞれ、行頭、行末に行く設定にはなっていないはずですが、ここを
書き変えておられるか、違う設定ファイルを読み込んでいますか?
のどか のログウィンドウを開いて、詳細をチェックした後で
メモ帳上で、Ctrl-P,Ctrl-P, Ctrl-N, Ctrl-N, Ctrl-B, Ctrl-B, Ctrl-F, Ctrl-F を押された際の詳細ログを
見せて頂くことは可能でしょうか?
お返事が遅くなりました。
ログを添付します。
長いと書き込めないのでいくつかに分割します。
まずはCTRL+ALD+Dを押したときの設定は以下のようになっています。
----------------------------------------------------------------------
window Notepad /:Notepad:Edit$/ : EmacsEdit = &KeymapParent
mod Shift = LeftShift RightShift
mod Alt = LeftAlt RightAlt
mod Control = LeftControl RightControl 英数
mod Windows = LeftWindows RightWindows
key A-J = C-G
key C-S = F3
key C-X = &Prefix(NotepadC-X, true)
keymap EmacsEdit : EmacsMove = &KeymapParent
key A-BackSpace = $EmacsEdit/backward-kill-word
key A-D = $EmacsEdit/kill-word
key C-D = Delete
key C-H = BackSpace
key C-J = Enter
key C-K = $EmacsEdit/kill-line
key A-L = $EmacsEdit/downcase-word
key C-M = Enter
key C-O = Enter ←
key C-Solidus = C-Z
key C-Space = &Prefix(EmacsMark, true)
key C-T = $EmacsEdit/transpose-chars
key A-U = $EmacsEdit/upcase-word
key C-U = &Variable(0, 4) &Prefix(EmacsC-U, true)
key A-W = C-C
key C-W = C-X
key C-Y = C-V
keymap EmacsMove : Global = &KeymapParent
key C-A = Home
key A-B = C-←
key C-B = ←
key S-A-Comma = C-Home
key C-E = End
key End = C-End
key S-End = S-C-End
key A-F = C-→
key C-F = →
key S-A-FullStop = C-End
key C-G = Esc
key Home = C-Home
key S-Home = S-C-Home
key C-L = &WindowRedraw &Recenter
key C-N = ↓
key C-P = ↑
key C-Q = &Prefix(KeymapDefault, true)
key A-V = PageUp
key C-V = PageDown
window Global ( /.*/ || /.*/ ) = &OtherWindowClass
key A-C-D = &DescribeBindings
key Esc = 半角/全角
key S-F2 = &IconColor(2) &HelpMessage("Reloaded", "日本語 109 キーボード (104 風)") &LoadSetting("日本語 109 キーボード (104 風)")
key 半角/全角 = Esc
key 英数 = LeftControl
window EditControl /:(Edit|TEdit|RichEdit(20[AW])?)$/ : EmacsEdit = &KeymapParent
その2
<CTRL-P,CTRL-Pと続けた場合>
----------------------------------------------------------------------
end ReadFile();19.617
* Modifier Key
0x1d D-NL-LeftControl
one shot modifier is NULL
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
> &KeymapParent(Global)
> &OtherWindowClass(EditControl)
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
> &KeymapParent(Global)
> &OtherWindowClass(Global)
> &OtherWindowClass
* Gen Modifiers {
}
GenKeyEvnet: 19.641:0-29
WriteFile() done: 19.641
GetOverlappedResult() done: 19.641
=> 0x1d D-LeftControl
begin ReadFile();19.650
end ReadFile();19.722
0x19 D-C-NL-P
one shot modifier is NULL
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
* Gen Modifiers {
GenKeyEvnet: 19.728:1-29
WriteFile() done: 19.728
GetOverlappedResult() done: 19.728
=> 0x1d U-LeftControl
}
GenKeyEvnet: 19.728:2-72
WriteFile() done: 19.728
GetOverlappedResult() done: 19.728
=> E0-0x48 D-↑
begin ReadFile();19.729
end ReadFile();19.790
0x19 U-C-NL-P
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
GenKeyEvnet: 19.799:3-72
WriteFile() done: 19.799
GetOverlappedResult() done: 19.799
=> E0-0x48 U-↑
begin ReadFile();19.799
end ReadFile();19.955
0x19 D-C-NL-P
one shot modifier is NULL
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
* Gen Modifiers {
}
GenKeyEvnet: 19.965:2-72
WriteFile() done: 19.965
GetOverlappedResult() done: 19.965
=> E0-0x48 D-↑
begin ReadFile();19.965
end ReadFile();20.31
0x19 U-C-NL-P
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
GenKeyEvnet: 20.32:3-72
WriteFile() done: 20.32
GetOverlappedResult() done: 20.32
=> E0-0x48 U-↑
begin ReadFile();20.44
end ReadFile();20.214
* Modifier Key
0x1d U-NL-LeftControl
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
> &KeymapParent(Global)
> &OtherWindowClass(EditControl)
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
> &KeymapParent(Global)
> &OtherWindowClass(Global)
> &OtherWindowClass
=> (already released) 0x1d U-LeftControl
* No key is pressed
* Gen Modifiers {
}
begin ReadFile();20.225
その3(最後)
<CTRL-B,CTRL-Bと続けた場合>
----------------------------------------------------------------------
end ReadFile();55.329
* Modifier Key
0x1d D-NL-LeftControl
one shot modifier is NULL
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
> &KeymapParent(Global)
> &OtherWindowClass(EditControl)
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
> &KeymapParent(Global)
> &OtherWindowClass(Global)
> &OtherWindowClass
* Gen Modifiers {
}
GenKeyEvnet: 55.365:0-29
WriteFile() done: 55.365
GetOverlappedResult() done: 55.365
=> 0x1d D-LeftControl
begin ReadFile();55.365
end ReadFile();55.490
0x30 D-C-NL-B
one shot modifier is NULL
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
* Gen Modifiers {
GenKeyEvnet: 55.514:1-29
WriteFile() done: 55.514
GetOverlappedResult() done: 55.514
=> 0x1d U-LeftControl
}
GenKeyEvnet: 55.544:2-75
WriteFile() done: 55.544
GetOverlappedResult() done: 55.544
=> E0-0x4b D-←
begin ReadFile();55.544
end ReadFile();55.560
0x30 U-C-NL-B
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
GenKeyEvnet: 55.561:3-75
WriteFile() done: 55.561
GetOverlappedResult() done: 55.561
=> E0-0x4b U-←
begin ReadFile();55.578
end ReadFile();55.787
0x30 D-C-NL-B
one shot modifier is NULL
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
* Gen Modifiers {
}
GenKeyEvnet: 55.787:2-75
WriteFile() done: 55.787
GetOverlappedResult() done: 55.787
=> E0-0x4b D-←
begin ReadFile();55.787
end ReadFile();55.861
0x30 U-C-NL-B
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
GenKeyEvnet: 55.868:3-75
WriteFile() done: 55.868
GetOverlappedResult() done: 55.868
=> E0-0x4b U-←
begin ReadFile();55.868
end ReadFile();56.72
* Modifier Key
0x1d U-NL-LeftControl
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
> &KeymapParent(Global)
> &OtherWindowClass(EditControl)
> &KeymapParent(EmacsEdit)
> &KeymapParent(EmacsMove)
> &KeymapParent(Global)
> &OtherWindowClass(Global)
> &OtherWindowClass
=> (already released) 0x1d U-LeftControl
* No key is pressed
* Gen Modifiers {
}
begin ReadFile();56.99
----------------------------------------------------------------------
となりました。
(CTRL-NとCTRL-Fはほぼ同じでしょうから省略します。
必要でしたら添付します)
ご確認よろしくお願いします。
>>102 ,103,104
詳細ログ大変どうもありがとうございます。
ログ上は、begin ReadFile()して、end ReadFile()後に、物理的に入力されたキー入力であり
それを変換して、=> のところがメモ帳に送られたキー入力となります。
Ctrl-P, Ctrl-Bのいずれも、最初、Ctrlキーが押されたので、いったんCtrlキーを送っていますが
そのあと Pが押されたときには、Ctrlキーをup(解除)してから、↑の down,up, down, upとなっています。
Bが押された時も同様で、←のdonw, up, down, up であり、
こちらの手元で実行した場合と、全く同じログです。
1回目のP押下時に、すぐにCtrlキーの解除と、↑のdownを送っているため
ログ上、変な動作をしているようには見えません。それでも、1回目は、カーソルの上移動には
ならないとのことで、大変申し訳ありませんが、判らないというのが回答となります。
さらに調査を実施するなら Visual Studio 2008(評価版でも良い)をインストールされ、64bit版のspy++を
用いて、メモ帳が受け取っているキー入力のログを表示すれば、何か判るかもしれません。
ところで、キー入力操作を入れ替えるような他のソフトをインストールされていることは
ありませんか?
appletさん
調べていただきありがとうございます。
お手数をおかけして申し訳ないです。
他のキー操作入れ替えツールは、動いてないと思います。
少なくとも意図的には動かしていません。
VisualStudio2008のspy++で調べられるのであれば
インストールして調べてみたいと思います。
ではでは
こちらで質問してもよろしいでしょうか。
現在、下記のようなキー設定を行っています。
CTRL+J/Lでカーソルの左右移動、CTRL+ALT+J/LでHome/Endにしています。
ノートパッドなどでカーソル移動でShiftを押しながら選択状態にしているときに、Shiftを押したままHomeやEndにすると、
いったん選択状態が解除されてしまうのですが、選択状態を解除させないことはできるでしょうか。
----
mod control += 英数
key *英数 = *LeftControl
key *S-C-L=*S-Right
key *S-C-J=*S-Left
key *S-C-A-*L=*S-End
key *S-C-A-*J=*S-Home
----
>>107
>いったん選択状態が解除されてしまうのですが、選択状態を解除させないことはできるでしょうか。
ヘルプ、2chのログ、ソースコードなどから、解決策を検討してみましたが、見つかりませんでした。
ログを見る限り、Shift, Ctrl, Altキーが、すべて、キーアップされます。
Shiftキーがアップしたので、文字列選択が一旦解除となることを確認しました。
key *S-C-L=*S-Right
key *S-C-J=*S-Left
key *S-C-O=*S-End
key *S-C-U=*S-Home
上記なら、O,Uを使いますが、文字列選択が解除されることは無いので、モディファイヤーキーの組み合わせが
変わった場合、モディファイヤーキーが一度、キーアップするのは、明記されていない仕様ということになります。
確かに単独キーでの Home/Endキーを使えば、選択されたままとなるので、期待した動きと異なるわけで、大変申し訳ありません。
迅速な回答に感謝します。
現状難しいということですね。
残念ですが、致命的でもないので、キーアサインなどで工夫してみたいと思います。
現在試用版ですが、正式版の購入予定です。
いつか良い解決策が見つかりましたらぜひご対応お願いします。
はじめまして。
マウス移動をキーボードに割り当ていますが、&MouseMove関数だけでは
タスクバー近辺やゴミ箱近辺への移動が手間なので、下記関数を用意して
ていただけると助かります。
&MouseMoveTo
&MouseMonitor
それぞれ、WindowMoveTo/WindowMonitorの動作と対応します。
ご一考いただければ幸いです。
>>110
書き込みどうもです。
&WindowMoveTo, &WindowMonitor のいずれもウィンドウを移動させる機能ですが
ウィンドウではなく、マウスポインタを移動させたいということでしょうか?
そうです、マウスカーソルを移動させたいです。
例えば、
マウスカーソルをディスクトップ左上へ移動するには、
&MouseMoveTo(NE,0,0)
マウスカーソルをプライマリモニタから次のモニタへ移動するには、
&MouseMonitor(1)
#カーソル位置を割合で移動すると、カーソルの画面外への
#はみ出しは考えなくてもよいかと思います。
マウスカーソルをマウスカーソルのあるモニタから前のモニタへ移動、
&MouseMonitorTo(current,-1)
説明不足ですいません。。。
以前は調査していただきありがとうございます。
spy++を入れて調べてみたところどうもモディファイヤキー全般が
トグル動作になっていることに気づきました。
(のどかの「仮想キーの調査」でもいいことに後で気づきました)
そんな機能がWindowsにあったなぁと思い出し調べているとWindows7で
[コンパネ]-[コンピュータの簡単操作センター]-[キーボードを使いやすくします]の
「固定キー機能を有効にする」が有効になっていました。
いつの間にかこの機能が有効になってしまったみたいです。
これを解除したところ望む通りの動作になりました。
ということで、nodokaにはまったく問題ありませんでした。
ちゃんちゃん
>>112
了解並びに理解いたしました。
マウス関係を拡充するとなると、他もいじりたくなりますが
Todoリストに載せることにしましょう。
>>113
ご報告ありがとうございます。同じ問題で悩んでいる人がいた場合
固定キーの機能の有効化をしていないか確認するという知見が得られたわけで
大変ありがとうございました。
お世話になってます。
要望なのですが、のどかからキーリピートを変更できるようにならないでしょうか。
現在、kbdaccというソフトウェアを使っていますが、この機能をのどかで設定できるようにならないかなあと思い、今回提案します。
キーリピートの速度を速めると、操作が快適になるので、是非他の方もできるようになって欲しいです。
御提案どうもありがとうございます。
チケットとして、登録しました。
http://sourceforge.jp/ticket/browse.php?group_id=3682&tid=20361
以下、御報告頂いたもの。HP社PCのオーナーはご注意ください。
---
HP(ヒューレットパッカード)のEliteBookで不具合があったので報告します。
EliteBookには特殊キーを扱うドライバーがインストールされていて、
その中のHPqkbfiltr.sysがキーコードフィルタリングを行っているようで、
のどかと干渉を起こす模様です。
結果として、深刻な不具合が生じます。
インストールすると、ブラックアウトするか、ブルースクリーン行きです。
起動直後にのどかをオフにして、システムの修復を行って一応回復はできました。
環境詳細は、
HP EliteBook 8730w
OS WindowsXP Professional
です。
ドライバ同士の干渉が原因だと思うので、
修正して使えるようにするのはできないと思いますが、
HPユーザーに警告したほうがいいようには思うので、
報告しました。
のどかの場合はデフォルトで -DNODOKA が設定されると、
if で分けられるので yamy と設定ファイルの共通化がやりやすそうです。
(yamy でも -DYAMY をデフォルトで定義されると嬉しいですが)
それから、&WindowVMaximize が Windows7 だとうまく動作しません。
&WindowHMaximize はちゃんと動作します。
>>119 ,120
ご提案並びに、ご報告大変ありがとうございます。
sourcefogeの方に、チケットとして登録します。
>>120
dot.nodoka に、下記を記述し、Windows 7 x86, Windows 7 x64で
メモ帳に対し 試験してみましたが、特に症状は見られませんでした。
ダメだったアプリ名称など お判りになりますか?
key C-_1 = &WindowVMaximize
key C-_2 = &WindowHMaximize
調査ありがとうございます。
タスクバーを画面の左側立ててあるのが何か関係あるのかもしれません。
もう一度確かめてみます。
&WindowVMaximize が正しく動作していないように見えたのは、
私のキーボードで C-S-x という 3 つのキーの組み合わせを認識しないためでした。
(CapsLockをコントロールキーとして使用しているため)
おさわがせして申し訳ありませんでした。
>>124
ご報告大変ありがとうございます。
私の環境でも試してみました。
mod control += CapsLock
key *CapsLock = *LeftControl
key C-S-_1 = &WindowVMaximize
key C-S-_2 = &WindowHMaximize
ThinkPad X32 英語配列キーボード Windows 7 x86環境ですが
逆に、&WindowVMaximize はOKですが、&WindowHMaximizeがダメでした。
Controlキーにした CapsLockキーを使わずに、元々のControlキーを使う
場合には、問題ありませんでした。
CapsLockあるいはたぶん英数キーを Controlキーにした場合
C-S-xの xキーによっては、xが押されたことが
キーボードによっては送られてこないという事実のようです。
あらたな知見が得られたと考えます。大変ありがとうございました。
質問があります。
「変換キーを押しながらiキーを押すと、↑キーを押したのと同じになる」
という設定をしたいので、
key *変換 =
mod Win += !変換
key W-*I = *↑
をdot.nodokaファイルに記述しています。
Windows Vista + nodoka 4.0x ですとこれでいけたのですが、
Windows7 + nodoka 4.11a だと「ウィンドウが最大化」するだけで、
↑キーの挙動になりません。
何かアドバイスがあれば、いただけませんでしょうか。
>>126
こんにちは。7ではVistaよりもショートカットが追加されていて
Win-Up は最大化になっているようです。
いろいろやってみて、解を二つ挙げますので、参考にしてみてください。
http://www.microsoft.com/japan/enable/products/keyboard/windows7.mspx
単純に key W-Up = &Ignore を追加すると
W-Up自体は、無効にできますが
W-I を押したときに、*がついているので
Win + Upが送られてしまうのでダメでした。
key W-Up = &Ignore
key *変換 =
mod Win += !変換
key W-*I = *↑
解1 ~W を追加する。
key *変換 = &Ignore
mod Win += !変換
key W-*I = ~W-*Up
解2 Winキーにするのではなく、mod0にする。
key *変換 = &Ignore
mod mod0 = !変換
key M0-*I = *Up
うわっ出来ました!
解1、解2とも大変参考になりました。
どうもありがとうございます。
また、すぐに対応してくださり、ありがとうございます。
質問なのですが、まだのどかを使ったことがないので
以下の様なことができるのか教えてください。
(マニュアルをみてもよくわからなかったので)
F1キーを押すとA,B,C,D,E,F,Gと順番に複数のキーを
連続で入力する。
この連続して入力しているときにウエイト処理を入れる。
詳しく書くと下記の様になります。
A Down
20 msecウエイト
A Up
50 msecウエイト
B Down
30 msecウエイト
B Up
100 msecウエイト
C Down
15 msecウエイト
C Up
250 msecウエイト
...
G Down
50 msecウエイト
G Up
この様にキーを押している時間、次のキー押しまでの時間は
設定できるのでしょうか。宜しくお願い致します。
>>129
お問い合わせ ありがとうございます。
help 6.チュートリアルで、自分用の設定ファイルをホームディレクトリに
コピーした後、エディタで、dot.nodokaファイルが開きます。
そのdot.nodokaファイルの一番下に、Ver4.12の場合
# 以下に、ご自身の設定を御書き下さい。 とあるので
ここに、下記のように記述して、ファイルを保存後、設定ファイルを再読み込みしてください。
なお未指定のところは20msecにしました。
key F1 = D-A &Wait(20) U-A &Wait(50) \
D-B &Wait(30) U-B &Wait(100) \
D-C &Wait(15) U-C &Wait(250) \
D-D &Wait(20) U-D &Wait(20) \
D-E &Wait(20) U-E &Wait(20) \
D-F &Wait(20) U-F &Wait(20) \
D-G &Wait(50) U-G
・遅延には、&Wait(milli_second)を使います。
・また、Down/Upを個別に記述するにはキー名の前に D-, U-を付けます。
・なお、D-,U-を付けない場合には、自動的に DownしてUpします。
・1行で書くのは、分かりにくかったので 行末に \ を書いて、次の行と設定が続いていることを
示すようにしましたが、1行で書いてもかまいません。
・各キーの名称は、ヘルプのA.補足のキーボード配列定義をご覧ください。
早速の回答ありがとうございます。
これで安心して購入できます。
こんにちは。
のどか4.12が落ちたので報告しようと思ったのですが、applet@pp.iij4u にメールが届きませんでした。
ダンプには個人情報が含まれうるのでメールでご報告したいです。有効なアドレスを教えていただけますか。
よろしくお願いいたします。
>>132
applet@bp.iij4u.or.jpとなります。
まず、そのアドレスが正しくないリンクは、どこにあったか
お教えください。
お使いのOSの種別(SPの有無を含む)や、キーボードの種別
それから、可能なら設定ファイルなども
ダンプファイルと共に、お送りください。
また、どのような状況だったかも伺えれば幸いです。
以上、よろしくお願いいたします。
どもです。正しいアドレスに再送しましたのでご確認ください。
@pp の方は、2009年5月にブルースクリーンで落ちた件でご報告したアドレスでした。
その後メールサーバーが変わったのですね。
のどかのマニュアルやウェブサイトをざっと見たのですが、メールアドレスを見つけることができませんでした。
いま改めて (目視探索でなく) Grep してみたら、readme.txt に書いてあることがわかりました。お騒がせしました。
>>134
ファイル受け取りました。
7 x64機で、確認します。
メールアドレスが目立たず、大変申し訳ありませんでした。
@pp.iij4u.or.jpは、私の個人アドレスであろうと考えます。
ヘルプだと、1. 表紙のところに、また Webでは、http://appletkan.com/ の
各ページの一番下のフッターに記載しています。
>>134
確認しました。御提供頂いた二つの設定ファイルに大きな違いは無いので
原因は、ファイル形式の違いであろうと考えます。
iの方は、UTF-16 BOM有りですが、jの方は、BOMが無いので、Shift-JISで
読み込み落ちてしまいます。
内部でincludeされている2行をコメントアウトして、UTF-16 BOM有りで
ファイル保存したところ、落ちなくなったように見えます。
また、そうしない場合には、落ちることを確認しました。
現状、ファイルリードのところの例外処理が弱いのですが、BOM無しだと
Shift-JISと判断するしかなく、Win32 APIに渡すので、そうなっています。
ファイル形式を変えて、再度、御報告頂ければ幸いです。
のどか 4.12を半年ほど前から使っています。
先日、動画を見る時にラクをしようと思い、
自分の.nodokaにgamepad.nodokaをincludeしました。
そして下の方で
key GP_B0 = &VK(LButton)
としたのですが、どうやらUSBゲームパッドを繋いでいない状態で
そのまま放置していると、nodoka64.exeが毎秒200KBのペースで
メモリを食っていくようです。実は昨日までVMWareの関係で4.11だったのですが、
4.12に上げても同じ問題が発生している為、報告させていただきました。
環境は、Windows7 x64 HPの自作PCです。
>>137
ご報告大変ありがとうございます。
さっそく調査開始いたします。
はじめまして。
長いこと窓使いの憂鬱を使っていたのですが、
以下の症状に困っていて、nodokaを購入させていただきした。
ただ、症状は相変わらずで、再度、
あちこち調べたのですがわからなかったので教えてください。
WindowsXP+IE7+nodoka4.12の環境で、
例えば、入力中に他のタブに切り替えて戻ってくると、
キー入れ替えがうまくいかないのか、Ctrl-Hで履歴窓が開いたり、
Ctrl-Aで全選択状態になったりします。
一旦、アドレス入力窓などをクリックして、再度、入力部分をクリックすると、
キー入れ替えが効いた状態になります。
同様の情報を探してみたのですが、なかなか見つからないので、
個人の固有の設定に依存しているのかなぁと思うんですが、
どこを調べたらよいのか検討がつきません。
ちなみに、ThumbSenseをつかっていますが、
それ以外のキー入れ替えソフトは入れていません。
なにかヒントをいただけると助かります。
>>139
書き込みどうもです。
ThumbSenseは、オリジナルの下記のものですか?
http://www.sonycsl.co.jp/person/rekimoto/tsense/indexj.html
ThumbSenseを使わない状態でも、同じ不具合がIE7上で発生しますか?
差支えなければ追試できるように、お使いの設定ファイルをこちらに書き込むか
applet@bp.iij4u.or.jpまでお送りください。
以上、よろしくお願いいたします。
早い回答で感動しました。どうもありがとうございます。
ThumbSenseは↑のものだと思います。バージョンも同じようでした。
再起動はせず、終了しただけでやってみましたが、同じでした。
設定は、~/dot.nodoka で設定しているだけで、以下のような内容です。
ほとんど凝った設定はしていませんが。
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Nodoka - dotjp.nodoka
# Copyright (C) 1999-2005, TAGA Nayuta <nayuta@users.sourceforge.net>
#
# Modify by applet on 2010-03-29
# まずキーボード定義を読み込む。
include "109.nodoka" # 109 キーボード設定
include "default.nodoka" # Emacs ライクなさまざまな設定
# Global keymap 設定
keymap Global
# 以下は、便宜上、設定するもの
key C-A-D = &DescribeBindings # 現在のキーマップのログ出力
# シフト+F2: 日本語キーボード、英語キーボード 切り替えトグル
if ( USE109 )
if ( USE104on109 )
key S-F2 => &IconColor(0) &HelpMessage("Reloaded", "日本語 109 キーボード") &LoadSetting("日本語 109 キーボード")
else
key S-F2 => &IconColor(2) &HelpMessage("Reloaded", "日本語 109 キーボード (104 風)") &LoadSetting("日本語 109 キーボード (104 風)")
endif
endif
if ( USE104 )
if ( USE109on104 )
key S-F2 => &IconColor(0) &HelpMessage("Reloaded", "英語 104 キーボード") &LoadSetting("英語 104 キーボード")
else
key S-F2 => &IconColor(2) &HelpMessage("Reloaded", "英語 104 キーボード (109 風)") &LoadSetting("英語 104 キーボード (109 風)")
endif
endif
# 以下に、ご自身の設定を御書き下さい。
keymap Global
key C-S-A-B => &ShellExecute("open", "C:\\cygwin\\cygwin.bat",,, ShowNormal)
key C-S-A-I => &ShellExecute("open", "C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE",,, ShowNormal)
key C-S-A-N => &ShellExecute("open", "C:\\WINDOWS\\NOTEPAD.EXE",,, ShowNormal)
key C-S-A-O => &ShellExecute("open", "C:\\Program Files\\Microsoft Office\\Office10\\OUTLOOK.exe",,, ShowNormal)
key C-S-A-P => &ShellExecute("open", "C:\\Program Files\\Microsoft Office\\Office10\\POWERPNT.exe",,, ShowNormal)
key C-S-A-T => &ShellExecute("open", "C:\\Program Files\\teraterm\\ttermpro.exe",,, ShowNormal)
key C-S-A-W => &ShellExecute("open", "C:\\Program Files\\Microsoft Office\\Office10\\WINWORD.exe",,, ShowNormal)
key C-S-A-X => &ShellExecute("open", "C:\\Program Files\\Microsoft Office\\Office10\\EXCEL.exe",,, ShowNormal)
window EditControl2 /:RichEdit20WPT$/ : EmacsEdit
すみません。もうひとつ情報です。
Ctrl-Hで履歴窓は出てくるんですが、Ctrl-Gで履歴窓は消えるので、
全くキー入れ替えが効いていないわけではないようです。
あと、詳細ログを採ってみました。
貼り付けると長くて邪魔になりそうなので、別途メールでお送りします。
>>141 ,142
書き込み並びに、メールありがとうございます。
ログの方は、どうやら、とれているWindowに違いがあり、NGな方は、未定義扱いに
なっているようです。
ThumbSenseは、無関係でしょう。
まだ、再現できていないのですが、設定ファイルの工夫で直るのか
のどか内部の問題なのか、切り分けたいと考えます。
OKな方
0x23 D-C-IL-H
one shot modifier is NULL
> &KeymapParent(EmacsEdit)
* Gen Modifiers {
=> 0x1d U-LeftControl
}
=> 0x0e D-BackSpace
NGな方
0x23 D-C-IL-H
one shot modifier is NULL
> &OtherWindowClass
* Gen Modifiers {
}
=> 0x23 D-H
>>139
判りました。再現しました。
直した方:
Yamyのチケット #18663 を参考にして
http://sourceforge.jp/ticket/browse.php?group_id=4424&tid=18663
window IEFrame /:IEFrame/ : EmacsEdit
を、設定ファイルに追加してください。
すでに、のどか 4.13では、このYamyの修正を取り込んでいるので
対策された default.nodoka を使用しており、当初再現できませんでした。
4.13では、default.nodoka に入りますが、4.12以前では、未対策なので
ご自身の dot.nodokaファイルの末尾に記述すると良いでしょう。
おーーーっ。すばらしい。改善されました。
どうもありがとうございました。
>>137
>>145
のどか 4.13に盛り込みました。
gamepadの方は、メモリ消費がどんどん増えていく事態には対応できたと考えます。
default.nodokaの方は、修正を入れました。
>>146
直ってました!
対応ありがとうございます。
>>147
お試しいただいたようですね。ご報告ありがとうございます。
おはようございます。
質問があり投稿させていただきました。
現在、ノートPC(lenovo)を利用しているのですが、キーボードをUSB接続にて
使用することがあり、ノートPC用とUSBキーボード用で設定ファイルを切り替えています。
これを、USBキーボードが接続されていたらUSBキーボード用のキーバインド、接続されていなければ
ノートPCキーボード用のキーバインドに自動的に切り替えることは可能なのでしょうか。
使用しているUSBキーボードは、「HHKB Professional JP」です。
>>149
PS/2, USBキーボードで異なる設定ファイルを自動的に切り替えて使いたいというお話ですが
現在のところ、うまい実現手段を見つけることができていません。
1. http://d.hatena.ne.jp/applet_at_h/20090326
に書いたように、異なるドライバを割り当てることが出来ることが知られています。
これを実施して、英語配列と日本語配列のキーボードのそのまま使うことが可能ですが
のどかの場合には、違いが判らないので、あまり意味を見いだせていません。
2. デバイスドライバから受け取るKEYBOARD_INPUT_DATA構造体には
USHORT UnitIdというエントリがありますが、実際にはキーボードごとに
異なる値が入ることがないようです。
3. DirectInputを使えば、判るらしいということが知られていますが、実際にはキーボードやマウスは
フォアグランドのアプリしか操作できないので、DirectInputをただ使うだけでなく、さらなる工夫が
必要です。
なんらかの手段が取れないものか、今後とも検討していきたいと考えます。
使用を検討しております。
下記動作、実現できますでしょうか?
「英数」キーだけを押すと「ESC」
「英数」+何かを押すとCtrl+何か
例) 英数+A => Ctrl + A
dot.nodokaを書いてみましたが、実現できていません。
mod control += 英数
key *英数 = *LControl
key C-LControl = Esc
よろしくお願いします。
>>152
お問い合わせありがとうございます。
いわゆるワンショットモディファイヤーですね。
http://www.appletkan.com/nodoka-doc/CUSTOMIZE-ja.html #oneShotModifier
--- dot.nodoka 記述内容
#「英数」キーだけを押すと「ESC」
#「英数」+何かを押すとCtrl+何か
include "109.nodoka"
keymap Global
mod control += !!英数
key *英数 = *Esc
>>153
ありがとうございます!!
早速試してみます。
取り急ぎ御礼まで。
>>153
ありがとうございました。
期待通り、動作いたしました。
ありがとうございます。
早速購入させていただきました。
今後のご活躍も期待いたします。
>>154 ,155
ご報告ならびに、お買い上げ大変ありがとうございます。
今後とも、よろしくお願いいたします。
お世話になっております。こちらこそよろしくお願い申し上げます。
下記の場合、Shift-CapsLock で$CapsLock 実現可能でしょうか?
include "104.nodoka"
keymap Global
## CapsLockはCtrl化
mod control += !!CapsLock
## ワンショットならEsc
key *CapsLock = *Esc
## 右[Shift] + [CapsLock] で本来のCapsLockを実現したい
key S-CapsLock = $CapsLock # ダメでした
key S-Esc = $CapsLock # ダメでした
# key S-RightShift-CapsLock = $CapsLock # invalid key name
>>157
下記ではどうでしょうか?
# test
include "104.nodoka"
keymap Global
## CapsLockはCtrl化
mod control += !!CapsLock
## ワンショットならEsc
key ~S-*CapsLock = *Esc
## 右[Shift] + [CapsLock] で本来のCapsLockを実現したい
key S-*CapsLock = $CapsLock
>>158
素晴らしいぃ!!
ばっちりです!!
なるほどですが、設定は結構頭使いますね(^^;;
ありがとうございましたm(_ _)m
nodoka-4.13、使わせていただいております。良いツールです。ありがとうございます。
可能かどうかわからないのですが、困っていることがあります。定義ファイルに何か書くことで解決できますでしょうか?
私は癖で、「Ctrl+C」や「Alt+TAB」を押すとき、「Ctrl→C」と順番に押すべきところを、「C→Ctrl」と打ってしまうことがあります。ほとんど同時なのですが、ときどきやらかします。
コピーしたつもりの文字が、「c」に置き換わっていたりするのは、切ないものです。窓切り替えのはずが、TABが入力されたり……
文字キーやTABキーを、「押された判定を一定時間遅らせるか、離すまで確定を待つか、CtrlやAlt(モディファイヤキー?)が押されるまで確定を待つ」という定義は、できますでしょうか?
ほとんど同時に押す悪癖を直せば良いだけなのですが、ツールのほうでなんとかできれば助かります。
あるいは、将来的に何かしらのオプションで対応いただければ幸いですm(_ _)m
過分なお願いをさせていただきました。
今後の発展を期待しております。
失礼いたします。
>>160
お問い合わせありがとうございます。
あるキーが入力されたことを遅らせること自体は、まだ実装できていませんが、構想には入っています。
実装できれば
4.13で追加した def option KeyboardDelayKey = 0x00 200 20 0 の第4引数で指定することになります。
ただ、難しくて、4.13では入れることは出来ておらず、現時点では、仕組みの構想中です。
しばらくお待ちください。ただし4.14で入るかどうかは未定です。
現時点で、設定ファイルの工夫でできるかどうかについては、ちょっと難しそうです。
ただし、Ctrl-c が cのキー入力になるのは、Ctrl-zで、取り消すと良いと考えます。
>>161
お返事ありがとうございます。
構想中でしたか。
楽しみにしております。
開発、がんばってくださいませm(_ _)m
4.14を入れてみたのですが、起動時に.NET Frameworkの初期化エラーが出ます。
dotnet_starter.exe - .NET Frameworkの初期化エラー
>このアプリケーションを実行するには、最初に以下の .NET
>Framework バージョンのいずれかをインストールする必要がありま
>す。
> v4.0.30319
>.NET Framework の適切なバージョンの取得方法に関しては、アプ
>リケーション発行者に問い合わせてください。
ですが、利用には支障ないように見えます。
Win7 Home Premium 32bitです。
>>163
ご報告ありがとうございます。
設定ダイアログから、GUI編集ボタンを押したときにも同じエラーが
表示されなければ問題ありません。
dotnet_starter.exeは、C#(.Net Framework 4)で記述されたバイナリですが、何もせずに
.Net環境の初期化のみを行い終了します。以後、.Net Framework 4で記述された
バイナリが実行されるときに、初期化が早く終わるため、初回起動時の待ち時間が
少し減少します。
>>164
> 設定ダイアログから、GUI編集ボタンを押したときにも同じエラーが
> 表示されなければ問題ありません。
同じエラーが出ますね。
前バージョンから 4のランタイムが必要になっているのですね。
よく読みもせずにバージョンアップをしていたため気づいていませんでした。
>>166
コメントどうもありがとうございます。
Gui編集(GuiEdit)を使わなければ、.Net Framework 4のランタイムは不要です。
お好みでということになります。
すみません ID:??? どうやればできるんですか?
>>168
E-mail(省略可)のところを空欄にせずに
sage と入れると、ID:??? にすることができます。
これで回答になっていますでしょうか?
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板