レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
ユーザーサポート
こちらは、汎用キーバインディング変更ソフト「のどか」サポート掲示板です。公序良俗に反する記載内容や、個人情報が記載された場合、削除することがあります。
>>428
ご連絡ありがとうございます。任意のキーの押しっぱなしは、原因不明ですが、さらに、おかしなところがないか
4.17では発生頻度が低いという報告を受けているので、さらに検討を進めます。
度々失礼します
一度設定したoneshotモディファイヤを解除するにはどうしたらよいでしょうか
具体的には、
親キーマップでoneshotモディファイヤ指定された、
mod Shift += !!LShift
このLShiftキーを、特定のキーマップでは再び普通のモディファイヤキーとして扱いたいのですが
>>430
お問い合わせありがとうございます。
たとえば下記のようにすれば、メモ帳では 普通のシフトになります。
#
include "109.nodoka"
keymap Global
key C-A-D = &DescribeBindings
mod Shift += !!LShift
window notepad /notepad\.exe/ : Global
mod Shift += LShift
下記のようにWindowごとに設定が異なっていることが
Ctrl-Alt-Dキーを押せば、明らかでしょう。
---window Global ( /.*/ || /.*/ ) = &OtherWindowClass
mod Shift = RightShift !!LeftShift
mod Alt = LeftAlt RightAlt
mod Control = LeftControl RightControl
mod Windows = LeftWindows RightWindows
key A-C-D = &DescribeBindings
window notepad /notepad\.exe/ : Global = &KeymapParent
mod Shift = RightShift LeftShift
mod Alt = LeftAlt RightAlt
mod Control = LeftControl RightControl
mod Windows = LeftWindows RightWindows
window Global ( /.*/ || /.*/ ) = &OtherWindowClass
key A-C-D = &DescribeBindings
>>431
表示上はそうなるのですが、
例えば、親キーマップ上で
mod Shift += !!LShift
mod Shift += LShift
仮にこのように記述するとします
Ctrl-Alt-Dキーで設定を見て見ると、
---window Global ( /.*/ || /.*/ ) = &OtherWindowClass
mod Shift = RightShift LeftShift
確かにこのように表示されてoneshot機能はなくなるのですが、
実際の挙動は完全には直りません
具体的には、レタッチソフトPHOTOSHOP上でですが、
「Shiftを押しながら描画」する事により、自由な描画を、水平、垂直に方向へガイドして直線を引く機能が、
上記の設定をしてoneshotを解除しても働かないままになります
他にもレタッチソフトやドローソフトにはこの手の機能が多々あります
これ系の機能が大体全滅です
不具合でなければ更なる改善策をお願いします
話は変わりますが、
調査ウインドウとログウインドウが分離していて不便です
調査ウインドウだけ表示された状態で調査してもログの同期が見えなかったり、
タスクバー上でも、設定ウインドウ、ログウインドウ、調査ウインドウ、とやたらに増えてわかりにくいですし、
出来れば改善してほしいです
>>431
すいません自己解決しました
例のリピートで&Ignoreする設定が悪さしていただけのようです
>>432 のレスは忘れてください
>>433
フォローコメントありがとうございます。了解いたしました。
ところで、任意のキーが押したままになるのは、Version.4.17以前からお使いでないと
不明だと思いますが、4.18から発生頻度が上がったというご報告も受けています。
他の方々も同じでしょうか?
お世話になります。
417版、423版ともに、押しっぱなし現象は改善しておらず、というか、
m_currentKeyPressCount:0の時には検出しないようにした影響か、
押しっぱなし自動解除も働かなくなっておりますのでご報告します。
#とりあえずリリース版に戻してしまいました。
以上よろしくお願いします。
>>435
ご報告大変ありがとうございます。417版、423版とは、このスレッドの番号であり
それぞれで提供した版ですね。リリース版4.18の方がまだマシということですね。
リリース版の4.17は使用したことが無いということでよろしいでしょうか?
Version 4.17の方が押しっぱなしになりにくいという情報をもとに
4.18から一部のコードを4.17に戻したもの、下記に置きました。
http://www.appletkan.com/download/nodoka-4.18_setup_2011-10-03.zip
4.18のsetupとほぼ同じですが、リリース版ではないお試し版です。
御時間がある方は、ぜひお試しください。以上、よろしくお願いいたします。
>>436
リリース版は4.16から使用しております。
4.16,4.17,4.18ともに、私の感覚では発生頻度に差は感じられませんでした。
#お試し版ではCheckModifierが効かない場合があり、4.18リリース版のほうがマシという感じです。
以上お手数をおかけしますがよろしくお願いします。
>>438
コメントどうもありがとうございます。
それでは、>>437 で提供したお試し版も似たような状況になるでしょうね。
これはCheckModiferの部位は元に戻しています。
もう一つ評価版作ってみました。
押しっぱなし抑止のために、Key Down直後のKey Upが失敗することがあるという仮定のもと、リトライするようにした版
http://www.appletkan.com/download/nodoka-4.18_setup_2011-10-05.zip
お疲れさまです。
2011-10-05版を入れて見ましたが、状況は変わりませんでした;;
とりいそぎご報告します。
>>441
お試しいただきありがとうございます。
ダメでしたか。さらにリトライする前に 20msだけSleepさせるようにしました。
またログ出力を追加したのデバイスドライバへのWriteFile()の失敗状況が
分かるようにしました。
手元では出力されない(押しっぱなしが発生しない)ので、実際にログ出力は確認できていませんが
また、お時間ありましたら、お試しいただければ幸いです。
http://www.appletkan.com/download/nodoka-4.18_setup_2011-10-07.zip
>>442
2011-10-07版を入れて見ましたが、キー入力の問題ではなく、マウスクリックが効かないことがある、という症状が出ます;;
#マウス関連の設定はdot.nodokaには記述しておりません。
ちょっとこのバージョンを試すのは難しいです。
よろしくお願いします。
すみません、2011-10-07版ですが、上書きインストールではなく、アンインストールしてから
インストールしたらマウスクリックの問題はなくなりました。
ただ、肝心の押しっぱなし現象は改善していません。詳細ログも以前と変化がありません。
以上よろしくお願いします。
>>443 , 444
御報告大変ありがとうございます。
別の方からはメールで 10/3版で問題が出なくなったという報告がありました。
これは、キーを押したときのmodifier変更のためのhook処理をver4.17と同等としたものです。
10/3版に対し、10/5, 10/7版のいずれも、WriteFile()のリトライが追加されているだけなので
キー出力以前のところに原因があるかもしれない押しっぱなし状態であろうと考えます。
御報告頂いているように改善していないとなると、どこで Key Upが消失しているのか
調べるためにログを追加したものを用意するので、しばらくお待ちください。
重ねて、お忙しいところ、ご報告ありがとうございました。
>>444
とりあえず、キー入出力のログを追加しました。詳細無しでも出力されます。
どこでキーアップが欠落するか分かれば、さらに問題があるところを追いかけることが可能であろうと
考えています。
http://www.appletkan.com/download/nodoka-4.18_setup_2011-10-11.zip
先日購入させていただいた者です。
非常に安定して動作しており、満足しています。ありがとうございます。
さて、Windows7のマシンにインストールしてみてはじめて気付いたのですが、
109キーボードを、104on109 (Emacs風)にして使っていると、
英数キーを押下した時に、何故かCtrlとShiftの両方が押下されたことになってしまうようです。
Windows XPのマシンでも試してみましたが、同様でした。
解決策はありますでしょうか。
以下にログを貼り付けます。
「109キーボード (104風、Emacs風)」にして、
設定ファイルをリロードして、
「スキャンコードの調査」と「仮想キーの調査」で、それぞれ1回、英数キーを押下したときのログになります。
よろしくお願いします。
------------------------------------------------------------
のどか 4.18 for x86
built by applet@airport (Aug 8 2011 17:52:17, Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 14.00)
started at 2011年10月20日 0:55:54
C:\local\nodoka\nodoka.exe
use Keyboard filter driver.
------------------------------------------------------------
log was cleared at 2011年10月22日 1:20:54
loading: C:\local\nodoka\dot.nodoka
loading: C:\local\nodoka\\109.nodoka
loading: C:\local\nodoka\\add-mouse-gamepad.nodoka
loading: C:\local\nodoka\\104on109.nodoka
loading: C:\local\nodoka\\default2.nodoka
loading: C:\local\nodoka\\emacsedit.nodoka
successfully loaded.
0x3a D-NL-K0-英数
0x3a U-NL-K0-英数
0x10 &VK( D-SHIFT )
0x11 &VK( D-CONTROL )
0x11 &VK( U-CONTROL )
0x10 &VK( U-SHIFT )
>>447
お問い合わせありがとうございます。これはヘルプのFAQ Q23に記載済のこととなります。
以下に再掲します。
Q23. 日本語109キーボードを使用しています。-DUSE104on109を設定していますが、英数キーを他のキーに変更すると、うまく動かないことがあります。
これは、104on109.nodoka の記述において、英数キーを押したときに、CapsLockとして機能するよう下記が記述されています。その結果、英数キーを押すと必ずシフトキーが入力されるので、他のキーへの入れ替え設定に影響があります。
def subst *英数 = S-*英数
回避するには、104on109.nodokaの該当行をコメントアウトするか、下記を dot.nodoka に記述して、設定をキャンセルしてください。
def subst *英数 = *英数
>>448
ご回答ありがとうございます。
マニュアルに書かれていたのですね。見落しておりました。お手数をおかけしました。。
早速変更してみたところ、無事、SHIFTが入らなくなりました
Windows7だと、Ctrl(=英数)押すたびにIMEが切り替わって、どうしようかと思っていたのですが、
これで解決です。
どうもありがとうございました!
>>449
解決されたようで、よかったです。
不具合ではあるのですが、歴史的なこともあり、デフォルトの設定ファイルを見直す
には至っていません。今後ともよろしくお願いいたします。
初めまして。
NODOKAを使いまだ一ヶ月ほどしか経っておらず勉強不足ですが質問させてください。
<問題>
以下で説明する設定はNotepadなどのソフトで目的に沿った動きをするのですが、MS
Ooutlook 2010, Word 2010ではそうなりません。解決方法を教えていただければ助かりま
す。
<設定したいこと>
key ~S-Enter = Esc (Enterを押とEscapeとなる)
key S-Enter = Enter (Shift+Enterを押とEnterとなる)
key *S-IC-Enter = Enter (IMEを使い変換中にEnterを押とEnterとなる)
<使用環境>
Windows 7 Professional (64bit)
MS Office 2010 (32bit)
のどか 4.18 for x64
宜しくお願い致します。
↑↑↑↑↑↑↑↑
(書き忘れ)
ATOK2011を使用していますが、MS IMEでも同じ問題が発生します。
宜しくお願いします。
>>451
お問い合わせありがとうございます。
詳細ログを見る限り
どうやら Word 2010では、IME で変換中であることを示すICが取れていません。
Version4.15,4.16,4.17,4.18のいずれもそうでした。
機能リクエストとしてチケットを登録しました。
http://sourceforge.jp/ticket/browse.php?group_id=3682&tid=26643
ICが使えるべきなのですが、現状無理のようです。
日本語入力であることを示すは IJは取れるようなので、下記ではどうでしょうか。
key ~S-Enter = Esc #(Enterを押とEscapeとなる)
key S-Enter = Enter #(Shift+Enterを押とEnterとなる)
key *IJ-Enter = Enter #(IMEを使い変換中にEnterを押とEnterとなる)
早速のお返事、有難うございます。
VimのキーバインディングをMSOfficeで実現するために
NODOKAを使い始めました。特に、Outlookでメールを書くときに使おうと思っております。
Vimを使用する際、EnterをEscとして使い慣れているため、同じ設定を実現しようとしました。
せっかく以下を提案していただきましたが、変換中にEnterを押し、確定することは
できますが、その後(現在の設定では)EnterをEscの代わりに使えなくなってしまいます。
key *IJ-Enter = Enter #(IMEを使い変換中にEnterを押とEnterとなる)
IC無しで設定できないか、もう少し考えてみることに致します。
この問題を早期に改善していただければ幸いです。
有難うございました。
>>454
コメント並びに、先の設定をお試しいただき大変ありがとうございます。
とりあえずですが、お試し版を置いておきます。
http://www.appletkan.com/download/nodoka-4.18_setup_2011-10-28.zip
IMM32側では、うまく取れていないので、TSF側で、IC状態を取れるようにしたものです。
key ~S-Enter = Esc #(Enterを押とEscapeとなる)
key S-Enter = Enter #(Shift+Enterを押とEnterとなる)
key IC-Enter = Enter #(IMEを使い変換中にEnterを押とEnterとなる)
設定ファイルは上記でOKだと考えますが、この版には癖があり、Wordを起動して、IMEでの入力時の
うまく認識できない時には、やはりEnterはESCになります。
また、このバージョンは、現在マウスのフックの改修を進めているため、マウスフックに問題があります。
>>446
お疲れさまです。
2011-10-11版をしばらく使用していますが、なぜか押されっぱなし状態が再現されなくなっています。
取り急ぎご報告まで。
>>456
御報告ありがとうございます。2011-10-11版は、リトライとログ出力以外に、10/3版と差はありませんが
ログ出力が影響するのかもと思います。
>>397
マウスフック有効時に他のアプリのスクロールに遅延などが発生するという問題に対応したつもりのものを
下記に置きました。
これは デバイスドライバによるキーボード読み込み部位にも大きく影響がある修正をする必要があり
押しっぱなし問題の挙動も変わっている可能性があります。
http://www.appletkan.com/download/nodoka-4.18_setup_2011-10-31.zip
nodoka64.exeの引数に、-L が追加され、起動後ただちにログウィンドウを開いて、詳細をチェックします。
なお、詳細チェックなしでもログ出力していた部位は取り除いています。
>>457
ご確認、改修ありがとうございます。
公開いただいた、nodoka-4.18_setup_2011-10-31 を3日ほど試用してみました。
スクロールに関する問題は、改善しているようです。
dll解放後のrius_hook_x64.dllのタイマーに関するエラーも、スクロールに
関連するタイマーが処理の遅延により解放されていないのだと推測していた
のですが、こちらは 2011-10-31版でも再現するようです。
なお、動作確認した環境は、以前 (>>396 ) のものから、Paper Plane xUI
のバージョンが 1.21+5 になっている以外変わりありません。
公開していただいてから時間が経ってしまって申し訳ないですが、動作確認
の結果を報告させていただきました。
>>458
こちらこそ、御確認並びに、御報告ありがとうございます。マウスの方はとりあえず
OKですね。sirius_hookの方は、まだ障害の特定に至っていませんが
はてなの方に書いたように、別件で、中身も理解する必要があるので、しばらく
お待ちください。
初めまして、最近購入しました。
キーボードの識別について質問と要望です。
空いているキーボードを使って割り振りできないかといろいろ試してたのですが、
USBのポートによってK0、K1までは識別するのですが、どうやっても3つ目がまた
K0になったりし、識別が安定しません。
そこでコードを見たりこちらを確認させていただいたりした所、
>>192
の記述を見かけたので、少し質問とご要望させてもらえたらと思いました。
■質問事項
1) kid.UnitIdに3以上の値が来る可能性はありますか?
2) 詳細表示でUnitIdを確認出来ますか?
■要望
1) 詳細表示でUnitIdを確認したい。
2) K0〜K3に対して、UnitIdを個別に割り振るコマンドが欲しい
3) コマンドが難しいのであれば、UnitId>3の時、K3が割り振られるようにして欲しい
PS/2キーボードの場合UnitIdは恐らく0なので、想定外のUnitIdの時はなるべく
K0とK1を外して欲しいです。一番ありがたいのはUnitIdの個別指定です。
長々と失礼しました(^^;。素晴らしいソフトだと思います。活用したいと思います。
>>460
御質問ならびに御要望をお寄せいただき大変ありがとうございます。
1) kid.UnitIdに3以上の値が来る可能性はありますか?
3が来るのは確認しています。
2) 詳細表示でUnitIdを確認出来ますか?
UnitId 0〜3を、そのまま K0,K1,K2,K3としています。ただし、ブートする度に
入れ替わることがあることは認識していますが、そのままとしていました。
御要望の方は、下位からくる数値をそのまま使っているので、なかなか
難しいのですが、K0,K1はそのまま扱い、K2,K3が来ても、K2と
扱うようなことなら実現可能性はあると考えます。
検討してみます。
お世話になります。ALT押しっぱなしが勝手に発生する現象が久々に出ました。
2011-10-11版のログを添付します。
気になるのは m_currentKeyPressCount が何も押してないのに1なのは変ではないかという点です。
詳細ログのサイズがオーバーして、どこから m_currentKeyPressCount がおかしくなったのかが
不明なのが残念ですがご検討よろしくお願いします。
Key IN: 56 2
m_currentKeyPressCount:2
E0-0x38 D-IL-NL-K2-RightAlt
one shot modifier is NULL
go beginGeneratingKeyboardEvents() 2
go beginGeneratingKeyboardEvents() 1
go generateKeySeqEvents(i_c, keyAssign->m_keySeq, i_c.isPressed() ? Part_down : Part_up)
* Gen Modifiers {
Key Out: 56 0
=> 0x38 D-LeftAlt
}
Key Out: 41 0
=> 0x29 D-GraveAccent
m_currentKeyPressCount:2
Key IN: 56 3
m_currentKeyPressCount:1
E0-0x38 U-NL-K2-RightAlt
go beginGeneratingKeyboardEvents() 2
go beginGeneratingKeyboardEvents() 1
go generateKeySeqEvents(i_c, keyAssign->m_keySeq, i_c.isPressed() ? Part_down : Part_up)
generateActionEvents(i_c, actions[actions.size() - 1], false)
generateActionEvents(i_c, actions[actions.size() - 1], false)
Key Out: 41 1
=> 0x29 U-GraveAccent
m_currentKeyPressCount:1
M Mouse: 5 key: 28
Key IN: 28 5
m_currentKeyPressCount:1
E1-0x1c U-NL-K0-AltDownOver
go beginGeneratingKeyboardEvents() 2
go beginGeneratingKeyboardEvents() 1
go generateKeySeqEvents(i_c, keyAssign->m_keySeq, Part_all)
> &HelpMessage("nodoka", "Alt")
> &HelpMessage("nodoka", "Alt")
Key Out: 56 1
=> 0x38 U-LeftAlt
=> (already released) E0-0x38 U-RightAlt
m_currentKeyPressCount:1
HWND: 0
THREADID:4968
CLASS: C:\Program Files\nodoka\nodoka64.exe
TITLE: C:\Program Files\nodoka\nodoka64.exe
Toplevel Window Position/Size: (50332662, 0) / (-50332389x0)
Desktop Window Position/Size: (0, 0) / (1680x1010)
>>462
御報告大変ありがとうございます。
今考えているのは、フックルーチンからキーダウン時にモディファイヤー等
確認処理が走りますが
その処理が、あるタイミング(リピート開始時など)に重なると問題が出るという
仮定を立てています。不具合が多く出る現在のリリースバージョンでは
その処理回数がキーダウンごと逐一になっているので、そこから推察しています。
お試し版では、以前の版と同様に戻してあるので少ないはずなのですが
それでも問題が出ることがあるということになります。
非同期処理(ドライバからの入力と、フックルーチンからの入力)を
どちらかで、なんらかのブロックあるいは、より処理を軽くすることはできないかなど
検討したいと考えています。
押しっぱなし現象が直らないので、
10-31版を入れてみたのですが、のどかが立ち上がると同時にLShiftキーが押しっぱなしになってそもそも使い物になりません
作業負担軽減のために導入したのに逆にストレスばかり溜まります
>>464
御報告大変ありがとうございます。
年内リリースのつもりで、4.19として現在評価中のものを置きましたので、御時間あるときにお試し頂けますでしょうか。
http://www.appletkan.com/download/nodoka-4.19_setup_2011-12-11.zip
なお、def option UseTSF = false を設定ファイルに記述した方が起きにくいはずです。
シフトキーなど押すことなく、起動するだけでシフトキーが押しっぱなしになると事例は
初めてですが、もしも詳しい情報などありましたら、お教えくだされば幸いです。
以上、よろしくお願いいたします。
なお、4.19の修正内容は、下記となります。
追加
起動時引数 -L, -lの追加
-L :「のどか」起動時に、詳細をチェックした状態でログウィンドウを開きます。
-l :「のどか」起動時に、ログウィンドウを開きます。
どちらも既にログウィンドウが表示されている場合には、最前面にするのみです。-Lでは詳細チェックは実行されません。
修正
設定ウィンドウの最前面表示
設定ウィンドウが既に表示されていた時に、通知領域の「のどか」アイコンからの設定を選んだ場合や、ログウィンドウから設定ボタンを押した場合に最前面に表示されるようにしました。
設定ファイルのシンボリックリンク対応
設定ファイルがシンボリックリンクファイルであった場合、実体のファイルサイズが0で無ければロードされるようにしました。
マウスフック有効時に他のアプリのスクロールなどが遅延する不具合対応
マウス、キーボードLL Hookからの入力処理をウィンドウメッセージからキュー変数に直接代入するように変更して(yamyと同じ)、負荷を低減することで対応いたしました。
不定期にキーリピートする不具合対応
必ず起きる環境では本不具合が発生しており、キー入力時の余分なモディファイヤーキー等ロック通知処理(notifyLockState())を削って、キーリピートしやすい不具合発生頻度を下げました。なお、まだ発生する環境では発生します。
のどか終了時に、他のアプリがアプリケーションエラーを起こす問題対応
sirius内部のフック処理ルーチンにおいて、フック解除実行時にフックルーチンに入ってしまった場合、抜けるよう修正いたしました。
また、sirius内部の共有メモリ解除(SiriusReleaseHook())時にに 解放処理(UnmapViewOfFile(pCv))を追加しました。
>>465
起動時にアプリケーションエラーで落ちる環境があるので修正しました。
http://jbbs.livedoor.jp/bbs/link.cgi?url=http://www.appletkan.com/download/nodoka-4.19_setup_2011-12-12.zip
ご報告です。4.19へのアップデート失敗しました。
環境
Windows XP 64bit SP-2
のどか4.18を使用していました。
のどか4.19リリースとのことで、ダウンロードし、
インストーラを実行。
インストール完了後、Windows再起動。
某アプリ上でのどかの設定(キー変更)が利いていないことを発見。
エクスプローラとメモ帳上で C-A (設定でHome化している), C-E (End化)
を試したが働かない。(のどか設定なし時の動きになる)
ログを見ても原因不明。
log begins at 2011年12月18日 12:24:13
loading: c:\home\foo\.nodoka\my.nodoka
loading: C:\Program Files\nodoka\default.nodoka
loading: C:\Program Files\nodoka\109.nodoka
loading: C:\Program Files\nodoka\add-mouse-gamepad.nodoka
loading: C:\Program Files\nodoka\emacsedit.nodoka
loading: c:\home\foo\.nodoka\after_default.nodoka
successfully loaded.
のどか4.19 アプリを終了。
のどか4.18をダウンロードし、インストーラ実行。
Windows再起動後、正常復旧(期待通りに動作中)しました。
>>467
御報告ありがとうございます。
同じ報告を頂いております。大変申し訳ありませんが
4.19のリリースを取り消す必要があると判断します。
お手数をおかけして、大変申し訳ありません。
>>467
4.19が抱えているウィンドウごとのキー入れ替え出来ない不具合の
改修を入れたリリース候補版を作りました。
http://www.appletkan.com/download/nodoka-4.19a_sample_setup_2011-12-20.zip
機能要望があるのですが、どこに書くのが良いのかわからずここに書き込みます。
キー入力で特定の文字列、特に日付や時刻を入力できるようにしたいのですが
カスタマイズで可能でしょうか?あるいは機能追加できますでしょうか?
たとえば Ctrl-F8 を押すと 2012-01-04 という文字列が入力されると
ファイルネーム作成やメモ書きに非常に便利になります。
かつでは「ねこまねきー」で実装されていた機能でした。
>> 470
ご質問ありがとうございます。
現在の「のどか」では、そのまま実現する機能はありませんが、下記
組み合わせで、実現可能と考えます。
クリップボードに既に何か入っていると、それを貼り付けるようですが
それには対応していません。
設定ファイル側
key C-_1 = &ShellExecute("open", "c:\\Users\\applet\\date.js",,, ShowNormal) C-V
Ctrl+1キーで、date.jsを実行し、クリップボードに格納された日付を貼り付けます。
date.jsの中身
( ここに置きました。 http://ux.getuploader.com/applet/download/13/date.js )
var OLECMDID_COPY = 12;
var OLECMDID_SELECTALL = 17;
var strDate = new Date()
var yyyy = strDate.getYear();
var mm = strDate.getMonth() + 1;
var dd = strDate.getDate();
if (yyyy < 2000) { yyyy += 1900; }
if (mm < 10) { mm = "0" + mm; }
if (dd < 10) { dd = "0" + dd; }
var strCopy = yyyy + "-" + mm + "-" + dd
var objIE = WScript.createObject("InternetExplorer.Application");
objIE.navigate("about:blank");
objIE.document.body.innerText = strCopy;
objIE.execWB(OLECMDID_SELECTALL, 0);
objIE.execWB(OLECMDID_COPY, 0);
objIE.quit();
参考にしたのは下記のサイトの情報です。
http://d.hatena.ne.jp/ardarim/20080201/1201882406
WSHでのクリップボードアクセス
http://www.tohoho-web.com/js/date.htm
jscript 日付(Date)
特定のソフト上で意図通りの動作にならずに困っています
具体的には、
mod Mod1 = !!無変換
window PhotoshopCS5 /:Photoshop/ : Global
key *無変換 = C-A-*z
この状態でPHOTOSHOP CS5上で無変換キーをoneshot動作させると、
altキーを押下押上した時のように、メニューバーがアクティブになってしまって(altキー単体を押した時の挙動)、
大変不便です
不便というか作業になりません
key C-*z = C-A-*z
こちらの設定のC-A-*zでそんな現象は起きないので、
oneshotが悪さをしている気がします
ボスケテ
>>472
お問い合わせありがとうございます。
Altキーを処理してから、Ctrlキーを処理しているようにログ上では見えるので
逆の順番で処理するようソースコードを修正したものを作って見ました。
http://ux.getuploader.com/applet/download/14/nodoka64.zip
これで、効果が出るようであれば、次の版以降では処理を入れ替えるモードを用意する。あるいは
記述順となるよう処理を見直したものを作ることことを検討したいと考えます。
ただし、エンジンの根幹の部分でもあるので、非常に困難であるために、しばらく改修できない可能性があります。
>>473
とりあえず直りました! 完璧です! 快適です! アイラブユー!
押しっぱなし問題もいつか直る日が来ると信じて気長に待ちます!
>>474
お試し、および御報告頂き大変ありがとうございます。うまく行って
こちらとしても大変喜ばしいです。
同時に押すことにしたモディファイヤーの処理の順番が、設定ファイルの記述とは関係なく
必ずShift, Alt, Ctrlの順で行われるので、便宜上Shift, Ctrl, Altの順にしたものです。
他に弊害が無ければ、デフォルトをこちらにする可能性もあり、その場合にはモード設定というものは
不要となりますが、不具合であっても下位互換性確保も必要となる場合もあるので、記述順にすることができればベストだなと考えます。
その分遅くなるでしょうから、嫌らしいです。検討いたします。
>471
470のkwです。対応ありがとうございます。
すばらいい!!と思ったのですが、
java scriptの実行が完了するのを待ってからペーストするべきなのですね。
以下のようにカスタマイズして意図した動作を確認しました。
waitの時間はCPUや環境依存ですが、このくらいの時間は待てる気がします。
&ShellExecute("open", "C:\\Program Files\\nodoka\\date.js",,, ShowNormal) &Wait(300) &Sync C-V
>>476
ご報告ありがとうございます。ときどきうまく動かないので何故だろうと思っていましたが
waitを入れると良いのですね。大変ありがとうございます。
度々失礼します
キーマップで定義したキーを、そのキーマップ内の特定のクラスだけGlobalに戻したいとすれば、
どのように記述すればよいのでしょうか
具体的には、
key *無変換 = *BS
window PhotoshopCS5 /Photoshop\.exe/ : Global
key *無変換 = C-A-*z
この状態で、更に、エディットコントロール内だけをGlobalの定義に戻したいのですが、
今現在は、上記に加え、
window PSEdit /:Edit$/ : Global
key *無変換 = *BS
このように強引に上書きの記述をしてお茶を濁していますが、
結構な記述量がありますので、出来れば一行でスマートに記述した方が後で編集も楽なので、
よろしくお願いします
#追記
window PSEdit /:Edit$/ : Global
key *無変換 = *BS
この部分をこうではなく、
window PSEdit /:Edit$/ : Global
ただこういう記述をするだけで、Globalで定義してあるキーは元に戻るようです
戻らないのは「Globalで定義しておらず、キーマップで定義してあるキー」でした
ですので、>>478 は間違いです、すいません
というわけでこの2レスは無かった事にして、もう半日考えてわからなかったらもう一度レスさせて頂きます
すいませんやっぱり一日色々試してみても出来ませんでした
やりたい事はつまり、
特定のキーマップAの中にあるエディットコントロールだけを、
&defaultとGlobalの状態に戻したいのです
当該のエディットコントロールの親キーマップをGlobal指定すれば、
Globalで定義してあるキーはGlobalに戻るのですが、
特定のキーマップAで新たに定義してされたキーも&defaultの挙動をして欲しいのです
勿論、>>478 ,479のように再度キーを記述しなおす事によりそれっぽい挙動に出来る事は出来るのですが
>>480
お問い合わせありがとうございます。
ヘルプのキーマップのところの例にあるように
EditControlだけの記述を先に記述すれば良いように考えますが
それではダメでしょうか。現在使用されている設定ファイルをすべて開示して頂けると
もう少しご助言できるかもしれませんが、実行ファイルを指定しているものと
実行ファイルとEditコントロールを両方指定しているものは区別できないのではとも考えます。
window EditControl /:Edit$/ : Global
key C-Z = Z
window Notepad /Notepad:Edit$/ : Global
key C-Z = &WindowMinimize
エディットコントロールの記述を先にすると、
キーマップによって上書きされてしまって、キーマップの定義になってしまうのです
出来れば当該のキーマップはアプリケーション全体ごとまとめて設定したいので、
その内部のエディットコントロールだけ指定しなおしたかったのですが……
と考えた所で自己解決できました
window PhotoshopCS5 /Photoshop\.exe/ : Global
key D-d = i
key U-d = b
key a = OpenBracket
key s = CloseBracket
このように、キー単体を押した時の定義はGlobalでは定義しておらず、
window PSEdit /:PSViewC:Edit$/ : Global
こう記述するだけでは、PhotoshopCS5クラスで新たに定義したキーがエディットコントロール上でもそのままだったのですが、
window PSEdit1 /:PSViewC:Edit$/ : Global = &Default
window PSEdit2 /:PSViewC:Edit$/ : Global
このように、キーマップの名前を変えて、二回記述する事により意図通りの挙動が出来ました
キーマップの名前が同じままだと、上の行しか反映されなかったので、そこで躓いていたのです
お手数かけて申し訳ありませんでした
他人に説明をしようと文を書いていると色々と思い付くようです
>>482
御報告ありがとうございます。特に何も力至らず申し訳ありませんでしたが
御解決されて何よりです。
あれ、ここのスレッド壊れてませんか? 書き込みテストしてみます
このレスが無事に書き込まれるようだったら、削除なりしてください
>>485
どうもです。どうでしょうか。484が無いのは意味不明の書き込みだったので
削除した経緯があります。
問題無いようでお手数かけました
これからもサポートよろしくお願いします&頑張ってください
applet様
はじめまして、gontaxと申します。素晴らしいソフトウェアのご提供をありがと
うございます。
のどかについて2点、私の期待と異なる動作を見つけましたので、対応方法を教
えて頂けませんでしょうか?
環境:
Windows 7 64-bit
のどか 4.19a
設定:日本語 109 キーボード (Emacs 風)
dot.nodokaファイル:デフォルトdot.nodokaの最後に次の内容を追加した物
window Firefox /firefox\.exe:/ : EmacsEdit
if ( !ZXCV ) key C-X = &Prefix(GeneralC-X)
期待と異なる動作:
1. Firefox上で適当なWebサイトを開き、何らかのテキストをM-Wでコピーしよう
としても、クリップボードへ何も入りません。
ただし、<input type="text">のようなテキスト入力フィールド内では、下記2の
状況を除き、正常にコピー出来ます。
2. Firefoxに限った話ではないのですが、次の全ての条件を満たす場合、M-Wで
クリップボードへコピーしようとしても出来ず、代わりに"c"という1文字が入力
されます:
(a) EmacsEditキーマップが有効になっている
(b) 何らかのテキスト入力フィールド内の全テキストが選択されている
例えば、Firefoxの検索バーや、エクスプローラのアドレスバーが問題発生箇所
となります。
ただし、(b)のような状態ではなく、テキストの一部が選択されている場合には、
正常にコピー出来ます。
その他のEmacs風の動き(例えばC-P、C-N、C-Y、M-V等)は問題ないように見え
ます。
ご多用のところ恐れ入りますが、対応方法のご教授をよろしくお願い致します。
>>488
お問い合わせありがとうございます。
firefox依存とそうでは無いもの二つですね。
設定ファイルの修正で直るものなのかプログラムの修正が必要なのか切り分けが必要ですが
まずは、再現と原因追及に努めたいと考えます。
>>489
早速のご返答ありがとうございます。
その後、自己解決しました。
お騒がせしました。
CtrlとCaps Lockの入れ替えをChange Keyというソフトで実現していたのですが、
どうやら、このソフトとのどかの相性が原因だった模様です。CtrlとCaps Lockの
入れ替えものどかで実現するように設定変更したら、期待通りの動作になりました。
問題の現象はM-Wで再現していたため、CtrlとCaps Lockの入れ替えは
無関係だと思っていました。
>>490
御報告ありがとうございます。自己解決されて何よりです。
また、なにかありましたら、よろしくお願いいたします。
こんにちは。
自分用の設定ファイルをもう一つ作って、キーボードを変えたときに切り換えてキーバインディングしたいのですが、
追加の設定ファイルはどんな名前にすれば良いですか。2dot.nodokaとかで大丈夫でしょうか。
また、その設定ファイルはどこに入れておけば良いですか。
現在の設定ファイルはC:\Users\自分の名前 のところにあります。一緒に入れていいのでしょうか。
よろしくお願い致します。
>>492
お問い合わせありがとうございます。
設定ファイル名は、拡張子さえ、.nodokaにして、現在お使いの設定ファイルが置かれた場所
C:\Users\自分の名前 に置けば、設定画面でファイル名を入力する際、フルパスではなく
ファイル名だけで良いです。
だから、dot2.nodoka 2nd.nodoka us.nodoka なんでも良いことになります。
確かにhelpのどこを読んでも、includeするために、いくつか異なる名前の設定ファイル
の記述はありますが、具体的にどんな名前が使えるかや、includeじゃない最初の
設定ファイル名は、dot.nodoka 以外指定できるなんてことは記載が無いですね。
次回、追記したいと考えます。
設定ファイルが置ける場所の解説は、下記となります。
http://www.appletkan.com/nodoka-doc/CUSTOMIZE-ja.html #include
Windows 7の場合、コマンドプロンプトを開いて、set[Enter]と入れると
現在定義されている環境変数が表示されるので、通常ならば HOMEPATHあるいは
USERPROFILEが、C:\Users\自分の名前 になっているわけです。
>>493
お返事頂きありがとうございます。
早速、ファイル名を「include 2dot.nodoka」にして、ホームディレクトリに置き、再読み込みをしてみました。
が、全てエラーになってしまうのです。
keymap Global
mod control +=KL-英数
key *KL-英数 = *Lcontrol
key C-H = Backspace
key *IL-*IC-C-F = Enter
key C-G = Delete
key 変換 = A-←
key C-K = ←
key C-L = →
key C-Semicolon = ↑
key C-Comma = ↓
key Hyphen = Semicolon
key Semicolon = Hyphen
key IL-*IC-Hyphen = Semicolon
key IL-*IC-Semicolon = Hyphen
これが、ファイルの内容なのですが、キーの名称が全て、「invalid key name.」とエラーになってしまいます。
本来のdot.nodokaファイルの一部を抜き出して新しいファイルとして追加しようとしているので、dot.nodokaでは読み込まれている記述なのですが
わたしは何か基本的なところを理解していないのでしょうか
連続で申し訳ありません。どうぞよろしくお願い致します。
すみません、ファイルの内容で「KL-英数」の箇所は「英数」でした。
>>494
再びお問い合わせありがとうございます。
まず、ファイル名ですが、「include 2dot.nodoka」のinclude は不要なので「2dot.nodoka」で
良いでしょう。
それから、少なくとも keymap Globalよりも前に、キー定義ファイルを読み込む必要があるので
# 2dot.nodoka
include "109.nodoka"
と記載してください。一行目はコメントです。二行目で109キーボードのキー定義ファイルを
読み込んでいます。詳細については下記をご覧ください。サンプル例もあります。
http://www.appletkan.com/nodoka-doc/MANUAL-ja.html #minimum
コピーした設定ファイルに最小限の設定を書く
>>496
追伸。http://www.appletkan.com/nodoka-doc/MANUAL-ja.html #minimum
をクリックしても、#minimumの記述が取れている場合には、お使いのブラウザのURL欄に
補って、表示させてください。
>>496 >>497
お返事ありがとうございます。
おかげさまで、無事読み込み、切り換えて使うことが出来ました。
マニュアルの該当箇所を更に読み込みたいと思います。
今後ともどうぞよろしくお願い致します。
>>498
うまく行ったようで何よりです。ご連絡ありがとうございました。
104.nodokaのdef key (キーの名前) = (スキャンコード)の部分を編集してDvorak化しようとしたのですが、
調査ウィンドウではキー名は変更されるものの、実際に入力すると編集結果が反映されずQwerty配列のままになってしまいます。
このような方法では配列の変更はできないのでしょうか?
>>500
お問い合わせありがとうございます。
def keyでは、スキャンコードに対するキー名の定義のみとなります。単なる名前です。
実際にキーを入れ替える記述は、key文などになるので、そちらの記述が必要となります。
>>501
なるほど、そういうことでしたか。
無事Dvorak化することができました。
ありがとうございました。
>>502
ご連絡ありがとうございます。
問題無かったようで何よりです。
今後ともよろしくお願いいたします。
xp proでずっと窓使いの憂鬱を使ってきたのですが、7 pro 64bitに移行したため、のどかを購入しました。
default2.nodokaの代わりにdefault.nodokaを読み込ませて、あとはほとんど手を加えずに使っていますが、
ctrl+kによる行削除の動作が非常に鈍重で、押し続けて数行削除する場合、キーを離しても削除が続き、
数行余分に消してしまうので困っています(ThunderbirdやNotepadなど複数のソフトで確認)。
設定などで改善できるでしょうか?
>>504
お問い合わせありがとうございます。
ctrl-k の記述は、ヘルプでは &EmacsEditKillLinnFunc, &EmacsEditKillLinePredのところにあり、解説も書かれていますが
下記にようになっています。
key C-K = $EmacsEdit/kill-line # 行末まで削除
keyseq $EmacsEdit/kill-line = \
&EmacsEditKillLineFunc S-End C-X &Sync \
&EmacsEditKillLinePred((Delete), (Return Left))
実際の、emacsedit.nodokaでは、62行目と文末にあり、文末のは
Eclipse用なので、参考にされても良いですが無視するとNotepad向けなどでは下記のようになっています。
keyseq $EmacsEdit/kill-line = &EmacsEditKillLineFunc S-End C-X \
&Sync &EmacsEditKillLinePred((Delete), (Return Left))
微妙に改行位置などが異なりますが、同じ記述です。
emacsedit.nodokaをホームディレクトリにコピーして下記62行目の次の行に
リピートしたら無視するというのを入れると操作感は異なりますが、2度押しする必要は無くなるので
問題を回避できるかも知れません。なお動作は未確認です。
key C-K = $EmacsEdit/kill-line # 行末まで削除
key C-R-K = &Ignore
>>505
ご回答ありがとうございます。
emacsedit.nodokaをホームにコピーし、
key C-K = $EmacsEdit/kill-line # 行末まで削除
の行(111行目のようですが)の次の行に
key C-R-K = &Ignore
を追加してみたところ、ctrl+kを押し続けても1行しか削除されなくなりました。
確かに消しすぎは回避できますが、実現したいのは「押し続けている限りは削除を
続け、離した時点で止まる」機能ですので、少し目的とは違っています。
そもそも、この現象は私の環境だけでのものなのかもよくわかっておりませんが、
よく使う操作だけに、なんとか改善できればと思っております。
ご確認、よろしくお願いいたします。
>>506
御確認ありがとうございます。処理が重いのは環境の問題ではなく
下記のように5個の処理が入っていて、特にクリップボードの処理及び&Syncであると考えます。
keyseq $EmacsEdit/kill-line = \
&EmacsEditKillLineFunc S-End C-X &Sync \
&EmacsEditKillLinePred((Delete), (Return Left))
従って、ただカーソル位置から文末までを削除したいだけであるならば、上記からクリップボードの処理を無くせば良いので
kill-lineと全く同じ動作とは異なりますが
keyseq $EmacsEdit/kill-line = S-End C-X
だけで良いだろうと考えます。
kill-lineに設定されていた5個の処理の詳細については、ヘルプの&EmacsEditKillLineFunc, &EmacsEditKillLinePred
を御覧ください。
>>507
ご回答ありがとうございます。
いただいたアドバイスを元にいろいろと試行錯誤しておりましたが、
どうも大きな勘違いをしていたようです。
文末のEclipse用とされている命令部分を削除すると、何の問題もなく
窓使いの憂鬱と同様に機能いたしました。
もしかしたら、Eclipseを使わない場合は、文末を削除しておかなければ
ならなかったのでしょうか。
何にせよ、結果として問題なく使用できるようになりましたので助かりました。
ありがとうございました。
>>508
自己解決されたようで何よりです。これはバグです。
Eclipse用のつもりが、全体に反映されているようです。
大変申し訳ありません。また御報告、試行錯誤等大変ありがとうございました。
次回の版には改修したものを入れることになると考えます。
Visual Studio 2010でEmacs風キーバインドを使うにはどうしたら良いでしょうか?
付属の英語104キーボード(Emacs風)を読み込むだけではダメでした。
環境はWindows 7(x86) Enterprise、Visual Studio 2010 (10.0.30319.1)です。
よろしくお願いします。
>>510
お問い合わせありがとうございます。のどかではうまく行かないケースがあるので、下記の解があります。
のどか とは無関係にVisual Studio のオプション 環境 キーボード 次の追加キーボードマップスキームを適用で
Emacsを選択する。
なお、Visual Studio 2008では標準で入っていましたが、2010では入っていないので下記からダウンロードして
インストールする必要があります。
http://visualstudiogallery.msdn.microsoft.com/09dc58c4-6f47-413a-9176-742be7463f92/
インストールの参考事例は下記となります。
http://gasser.blog114.fc2.com/blog-entry-469.html
お教えいただいたものは入れているのですが、いまいちだったので「のどか」を購入しました。
のどかでVS2010をコントロールすることは出来ないのでしょうか?
>>513
再度のお問い合わせありがとうございます。
>>236 では、emacseditをVisual Studio 2008で使う話題があり、最終的には御所望の動きにならなかったので
VS2008でのemacsバインド設定をお使いになれば良いのではという回答をした経緯があり、先のように
VS2010でも、そうした方が良いだろうと思い、ご回答差し上げました。
VS2010は、2005や2008とは異なり、Window名称が異なっています。
またウィンドウの調査では、VS2010の画面の表示が出来なくなるなど
しており、VS2005,2008とは異なり編集部分のウィンドウのみを指定することが出来ていません。
従ってなんらかの不都合があると考えます。しかしながら、下記サンプル設定で
切り替えが出来ていることは確認できているので、お試しにはなれるだろうと考えます。
以上、よろしくお願いいたします。
#
include "109.nodoka"
include "default.nodoka"
def option FocusChange = enable
keymap Global
window VS2005-2008 /VsTextEditPane/ : EmacsEdit
key U-FocusChange = &HelpMessage("nodoka", "VS2005-2008 window")
window VS2010 /devenv\.exe:HwndWrapper/ : EmacsEdit
key U-FocusChange = &HelpMessage("nodoka", "VS2010 window")
ご教示ありがとうございます。
教えて頂いた設定で使いたいと思っていたEmacsキーバインドが出来ました。
ありがとうございました。
>>515
御報告大変ありがとうございます。うまくいったようで何よりです。
今後ともよろしくお願いいたします。
既出かもしれませんが...
ikbeventというキーボードクラスのデバイスドライバを検出して
のどかがインストールできないケースがあります。
(自分の場合は、Z77チップセットのマシンで、OSはWindows7 64bit、
キーボードはPS/2(Realforce106)。)
デバイスマネージャからPS/2キーボードのドライバ詳細を見ると
ikbevent.sysとうのがいます。
C:Windows\system32\DRIVERS\ikbevent.sys のプロパティを見ると
Intel(R) Smart Connect software
Intel Keyboard Class Upper Filter Driver 1.0.2.0
とわかります。
どうやら Intel Smart Connect Technology で使うもののようです。
デスクトップ機にはいらないと考え
Intel Smart Connect Technology をアンインストールして再起動。
BIOSから Intel Smart Connect Technology と、ついでに
Intel Rapid Start Technology を disabled にして Windows7 を起動。
詳細な検証はしていませんが、これでインストールできました。
同じ現象で困っている人はおりませんでしょうか。
>>517
情報をお寄せ頂き大変ありがとうございます。
keyboard classへのフィルタドライバが存在すると、どのような挙動になるか不明なので
(VMwareのドライバがあると、フリーズすることがあったため)、インストーラーでは
レジストリの記述を見つけるとヘルプにも記載していますが、インストールを取りやめるようにしています。
現在のところ、ikbevent.sysが入っていてインストールできないという御報告は頂いていません。
Windows 2008R2 で動作させてみました。今のところ問題なく
動いているようです。簡単ですがご報告まで。
>>519
御報告ありがとうございます。Windows Serverではあまり動作報告が無いので
大変ありがたいです。コンソールでは、クライアントOSとキーボード周りに違いは無いので
問題は起きる可能性は少ないですが、リモートで使う場合もあるので、そちらでは、たぶん、
報告は無いにしても、使われているだろうと考えます。
>>518
私もikbeventを検出してインストールできませんでした。
環境は、Windows7 x64 Pro SP1、H77 Express チップセット ATXマザーボード、
USBキーボードREALFORCE91UBKです。
現行ではqp氏の処置をしない場合はあきらめるしかないのかな。
>>521
御報告ありがとうございます。2例目ですね。
「のどか」としては不具合を起こす可能性がある以上、対策を打つ予定はありませんが
そのドライバが入っていても全く問題が無いということが判れば、改善策を取る可能性はあります。
ユーザ責任となりますが、「のどか」のインストール時にレジストリから記述を削っておいて
あとで追加するか、該当ドライバを「のどか」の後からインストールするということも出来るだろうとは思います。
推奨は致しませんけれども。
>>522
リストア覚悟で一時的なレジストリの削除でインストールしてみます。
Intel Smart Connect Technologyの機能は不要ですけど...しばらくは
これでいってみます。
>> 523
コメントどうもありがとうございます。もし安定して動く等なにかありましたら
よろしくお願い致します。
のどかをインストールした状態ではcomodo internet securityがインストールできなくなります。
インストーラーを起動してセキュリティーの警告に実行と答えると、即座に強制終了するようです。
使わないのでいいのですが、一様報告しておきます。
windows7 x86 sp1
>>525
御報告ありがとうございます。確認いたしました。
x86環境では、のどかが動いている状態では、御報告頂いたように、comodo internet securityの
インストーラは起動しないです。のどかを終了させておくと事象は発生しません。
nodoka.exeなどが、comodoのTrusted Filesの一覧に出ることも確認しました。
またx64環境では問題となりませんでした。
御報告頂いた本件は、FAQなどに記載する方向で検討いたします。
のどかのログなんですが、区切りがどこかわからなくて正直見難いので、次期バージョンでは
行番号か区切りの線を表示するかするようにしていただけないでしょうか。
>527
御要望ご連絡ありがとうございます。チケットとして登録致しました。
http://sourceforge.jp/ticket/browse.php?group_id=3682&tid=29002
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板