レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
ユーザーサポート
こちらは、汎用キーバインディング変更ソフト「のどか」サポート掲示板です。公序良俗に反する記載内容や、個人情報が記載された場合、削除することがあります。
お世話になります.以前にも書き込みさせて頂きましたM.Aです.
現在,ver.4.25を便利に使わせて頂いております.
カーソル移動をEmacs風にすべく,
key C-*F = Right
key C-*B = Left
key C-*P = Up
key C-*N = Down
の定義をdot.nodokaに書き込んでいますが,いくつかのプログラム内
では,この設定を除外したいと思い,あれこれやっていますがうまくいきません.
具体的にはgvimというエディタにて,ウィンドウクラスを指定して別制御
させたいと思っていますが,思うように動作しないのです.ウィンドウを
調べたログは以下のようになっています.
CLASS: C:\Program Files\vim73-kaoriya-win64\gvim.exe:Vim:VimTextArea
TITLE: C:\Program Files\vim73-kaoriya-win64\gvim.exe:[無名] + - GVIM:Vim text area
この状態で,以下のようにdot.nodokaに書き込んで,上記のカーソル移動の
設定を殺したいと思っているのですがうまくいきません.
window GVIM /Vim:VimTextArea$/ : Global
key C-*F =
key C-*B =
key C-*P =
key C-*N =
同じようなことを他のエディタ(Terapad)で試したところ, 思うように
カーソル移動の動作を殺すことができました.Terapadでのウィンドウクラスは
CLASS: C:\Program Files (x86)\TeraPad\TeraPad.exe:TTeraPadMainForm:TEditor
TITLE: C:\Program Files (x86)\TeraPad\TeraPad.exe:無題 * - TeraPad:
この場合,以下のようにdot.nodokaに書き込むとglobalのカーソル移動の
設定を殺せました.
window Terapad /TTeraPadMainForm:TEditor$/ : Global
key C-*F =
key C-*B =
key C-*P =
key C-*N =
長くなってしまいすみません.
解決のヒントを頂ければ幸いです.お手数をおかけしますがよろしく
お願い致します.
>>827
お問い合わせありがとうございます。確認できました。
まず、調査で表示されるクラス名、タイトル名と、実際のgvim操作時に認識しているものが
異なることが判明しました。
下記キー定義を実施し、キーを押したところ
key C-_1 = &WindowIdentify
key C-A-*D = &DescribeBindings
表示されるクラス名タイトル名は下記になっていました。
また、キー定義も入れ替わっていないことを確認しました。
CLASS: C:\Program Files\vim74-kaoriya-win32\gvim.exe:Vim
TITLE: C:\Program Files\vim74-kaoriya-win32\gvim.exe:[無名] + - GVIM
32bit環境で確認しましたが、64bit環境でも同様と考えます。
windowの記述の際、下記にすればOKとなるはずです。
window GVIM /gvim\.exe:Vim/ : Global
ご確認いただければ幸いです。よろしくお願いいたします。
>>830
出張のためご返答遅くなりました.
お忙しいところgvimにて動作検証頂きありがとうございました.
ご指示の方法にて望みどおりの動作が得られました.感謝申し上げます.
今後ともどうぞよろしくお願い致します.
M.A
>>751
しばらく動作確認をしてから報告しようと思っていたら、報告が遅くなってしまいました・・・。
.dll を削除する暫定対策も有効でしたし、チケットに記載の 4.25a でも解決していることを確認しました。
迅速なご対応ありがとうございました。
>>836 M.Aさま
>>837 miauさま
こちらこそ御確認、御報告大変ありがとうございます。今後ともよろしくお願いいたします。
applet 様
いつも nodoka を利用させて頂いております。
Windows 8.1 x64 上の Office アプリケーションで nodoka のキーバインディングが適用されません。
PowerPoint、Excel、OutLook で確認しています。
原因を調べるにもとっかかりがなく、困っています。
調査の方法や Windows 8.1 では無理など情報がありましたらばお教え頂けないでしょうか。
お手数でございますが、よろしくお願いいたします。
■ ホームディレクトリの Excel 設定部分
window Excel /EXCEL\.EXE:/ : EmacsEdit
window OutLook /OUTLOOK\.EXE:/ : EmacsEdit
window PowerPoint /POWERPNT\.EXE:/ : EmacsEdit
window NotePlusPlus /Notepad\+\+\.exe:/ : EmacsEdit
■ 切り分け
どうようの記述を NotePad++ に行ったところ正常にキーバインディングが Emacs ライクになる。
■ シンボル
-DUSE104;-DUSEdefault
■ 環境
Office 2013 Excel、PowerPoint (64bit)
C:\Program Files\Microsoft Office\Office15 にインストールされているのでおそらく 64bit
Windows 8.1 x64 (8.0からアップグレード)
nodoka 4.25
■ ログ
loading: C:\Users\${ユーザー名}\dot.nodoka
loading: C:\Program Files\nodoka\read-keyboard-define.nodoka
loading: C:\Program Files\nodoka\104.nodoka
loading: C:\Program Files\nodoka\add-mouse-gamepad.nodoka
loading: C:\Program Files\nodoka\default2.nodoka
loading: C:\Program Files\nodoka\emacsedit.nodoka
successfully loaded.
>>850
お問い合わせありがとうございます。
ログの先頭を取得することは可能ですか?
下記のような感じのところです。便宜上4.26になっていますが
開発途上バージョンです。
------------------------------------------------------------
のどか 4.26 for x64
built by applet@airport (Oct 21 2013 22:52:30, Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 14.00)
started at 2013年12月15日 9:42:01
C:\Program Files\nodoka\nodoka64.exe
use Keyboard filter driver.
use Keyboard LL Hook with Win8 WA
------------------------------------------------------------
遅くなりました。
以下になります。
VMware Fusion (MacOS上の仮想化ソフト) 上の仮想マシンになります。
=ここから
------------------------------------------------------------
のどか 4.25 for x86
built by applet@airport (Sep 22 2013 14:03:29, Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 14.00)
started at 2013年12月17日 23:43:31
C:\Program Files\nodoka\nodoka.exe
use Keyboard filter driver.
------------------------------------------------------------
log begins at 2013年12月17日 23:43:31
loading: C:\Users\${username.domainname}\dot.nodoka
loading: C:\Program Files\nodoka\read-keyboard-define.nodoka
loading: C:\Program Files\nodoka\104.nodoka
loading: C:\Program Files\nodoka\add-mouse-gamepad.nodoka
loading: C:\Program Files\nodoka\default2.nodoka
loading: C:\Program Files\nodoka\emacsedit.nodoka
successfully loaded.
Tasktray icon is updated.
=ここまで
>>852
どうもありがとうございます。
------------------------------------------------------------
のどか 4.25 for x86
何故か、x86版が動作しているので、nodoka64.exeが起動されるよう
スタートアップなどの設定を見直してください。
メモ帳はx86すなわち32bit版ですが、Wordなどは、x64版が動作していると考えるので
のどかも64bit版を使う必要があります。
モデファイアの設定について、お教え下さい。
mod1 += !A
key M1-B = C
key M1-E = F
と設定している時に、
Aを押しながら、B、Eと立て続けて入力すると
この場合にはC、Fと扱われます。
これをC、Eとして扱われる様に・・
つまり、モデファイアを最初の1つのみに影響させる事は出来ますか?
出来ましたら、その方法をご教授いただけないでしょうか。
よろしくお願いします。
投稿してから気づきました。
ロックを用いれば出来そうですね・・
とは言え、モデファイアとしては用意されていますか?
(されていましたら、そちらを使いたいと思います)
お問い合わせありがとうございます。
>>854
モディファイヤーキーを押しているのにもかかわらず、2個目からは無視するということになるので
keymapを移れば出来そうな感じですが、たくさんあると難しいと考えます。
>>855
ロックについては、http://www.appletkan.com/nodoka-doc/CUSTOMIZE-ja.html #lock をご覧ください。
右辺側のlock0 が、左辺側すわなちモディファイヤー L0 として対応してます。10個存在します。
10個で状態が不足する場合には、複数個を組み合わせて、2進数で扱う必要があります。3個使えば、8通りとなるわけです。
以上、よろしくお願いいたします。
>>757
返信が遅れ大変申し訳ありません。
私が確認した環境は、以下です。
1. Windows7 64-bit nodoka 4.25(-m オプション付き)
2. Windows7 64-bit nodoka 4.25(-m オプション付き)
1 から 2 へリモートデスクトップで入ると、マウスクリックが一切効きません(LBUTTON, MBUTTON, RBUTTON のどれも)
(1, 2 の両方に nodoka 4.25 が入っています)
リモートデスクトップのつなぎ先の nodoka を強制終了すると、クリックが効くようになります。
この現象は、nodoka の 4.24 を使用している際には起きません。
先ほど、1, 2 の両方の nodoka を 4.25a にインストールし直したところ、やはりクリックが効かなくなりました。
以上です。よろしくお願いします。
>>857
御報告ありがとうございます。確認出来ました。
チケットを再オープンしました。
https://sourceforge.jp/ticket/browse.php?group_id=3682&tid=31499
>>757 で問題無かったことについては説明が付きませんが
ローカル側は、4.24, 4,25aのどちらでも問題なく、-m付きで起動しておいて、実行中あるいは一時停止中であっても
リモート側にリモートデスクトップでログインして、4.25a -m付きでは、マウスクリックは一切ダメでした。
しかし、ここで4.24に戻して -m付きならば、問題無くマウスクリックできることが確認できました。
>>857
修正を試みたnodoka 4.26を作ってみたので、もしよろしければ、ご確認頂ければ幸いです。
zipパスワードは、4.25, 4.25aと同じです。
http://www.appletkan.com/download/nodoka-4.26_setup.zip
以上、よろしくお願いいたします。
>>859
早速試してみたところ、無事動作しました!
修正していただき、ありがとうございます!
>>860
早速お試し頂き大変ありがとうございます。
お手数をおかけしました。次の版の候補となるセットアップですが
近日中には公開出来るだろうと考えます。
>>775
>>777
御回答が大変遅くなりました。
ローカルの環境から英数キーを押して、リモートに伝わった際、英数キーなので、のどかよりも先にIMEが取得して
0xe5 &VK( D-PROCESSKEY )
が表示され認識されています。
ローカルの環境でも、シンボル-DUSEFIXNLSを付けて、起動時引数-nを付け、E0Eisuuが送られるようにすれば
リモート側ののどかでも、IMEが認識する英数キーでは無いので、処理できるようになります。
今回のケースでは、ローカル側では専用機ということで対処できないと言うことになり、大変申し訳ありません。
のどか、便利に使用させていただいております。ありがとうございます。
申し訳ないのですが、いくつか要望があります。
何かのきっかけでモディファイアキー (Shift,Alt,Ctrl いずれも可能性がある) が押しっぱなしになることがあります。
たぶん、リモートデスクトップに接続し、リモートデスクトップ先でのどかを LL フックで使用しているときに
発生しやすいようです。この状況に陥ると、下記の設定 (右CtrlのUPでCtrlの押しっぱなしを解消しようとした) では
解消せずのどかの再起動が必要になります。(押下中のメッセージが定期的 - 30秒毎? に表示されます)
def option CheckModifier = enable 5 # キー押しっぱなし検出
key U-*CtrlDownOver = &HelpMessage("Ctrl キー" , "押下中...")
key U-C-*RightControl = U-*RightControl U-RightControl U-LeftControl U-LeftControl
そもそもこの設定で解消出来るのかはともかく、押しっぱなしになること自体は仕方ないと思っていますが、
m_currentKeyPressCount を強制的に 0 にするような Function が欲しいです。
これをあるキーに割り当てておけば即座に解消されるような。
この状態に陥っているときにモディファイアを押したり反したりすると、
m_currentKeyPressCount は 1 - 2 の値を遷移しています。
それともう一点要望ですが、include で必ずその位置に展開する機能が欲しいです。
今の実装だと、一度 include しているファイルを再度 include しようとしても展開されないようですが
そうではなく、include で書いてあるところすべてに展開するような機能が欲しいです。
これは、複数の(継承元の違う)キーマップに同じ内容を指定したいことがあって・・・。
よろしくお願いいたします。
>>864
Hiz様、御要望ご連絡大変ありがとうございます。
それぞれ、チケットを作成しました。
https://sourceforge.jp/ticket/browse.php?group_id=3682&tid=33230
https://sourceforge.jp/ticket/browse.php?group_id=3682&tid=33231
前者は、内部をリセットすることは可能かもしれませんが、そもそもWindowsというかシステム側が
押されたままと認識しているので、一旦機能停止させて、該当キーのアップを送って復活させるような動きが必要かもしれません。
後者は未確認でしたが、確認して対策できるかどうか考える方向になると考えます。
以上、よろしくお願いいたします。
BrowserBackキーにPageUpを割り当てたいのですが、上手くいきません。
お手数ですが、設定方法を教えてください。
BrowserBackキーは「LeftAlt - ←」(0x38 E0-0x4b)を返します。
0x38 D-LeftAlt
E0-0x4b D-A-←
0x38 U-LeftAlt
E0-0x4b U-←
そこで次のように記述してみたのですが、ダメでした。
def key BrowserBack = 0x38 E0-0x4b
key *BrowserBack => *PageUp
「のどか」は「nodoka-4.25a_sample」。
OSは「Windows7 Pro 64bit」。
キーボードは「ThinkPad USB TrackPoint Keyboard 日本語版 55Y9074」です。
本ソフトの購入を検討中です。
一年ほど前まで、XP上の窓使いの憂鬱で同様の設定を行っていたのですが、
設定方法を忘れてしまいました。
お手数ですが、よろしくお願いいたします。
>>867
お問い合わせありがとうございます。
下記ではどうでしょうか。
key A-Left = PageUp
他のモディファイヤキーを無視されたいならば
key A-*Left = *PageUp
だろうと考えます。
>>868
すばやい対応、有難うございます。
「key A-Left = PageUp」を試しました。
XP(32bit)上のmayuだと、意図した通りにPageUpしますが、
Win7(64bit)上のnodokaだと、Alt-Leftのまま素通りします。
BrowserBack以外のキーを使って、例えば「key A-Comma => PageUp」とすると、
正しくPageUpします。
TrackPointキーボードの64bitドライバとの相性??
ドライバはLenovoの次のサイトからダウンロードしました。
http://support.lenovo.com/ja_JP/downloads/detail.page?DocID=DS013897
BrowserBackキーは、AltとLeftの2つのコードを返すので、
ScanCode Mapでは対応できないと思ってよろしいですか?
よろしくお願いいたします。
>>869
状況御報告大変ありがとうございます。
・まず、バージョン情報かログの先頭で、x64版が動作しているか御確認下さい。
・また&DescribeBindings を割り当てたキーを押して、指定したキーバインドが適用された状態であることを御確認ください。
・それから、キーボードの方で勝手に二つのキーコードが送られるのでScanCode Mapでの変更が可能なキーでは無いという
御理解は正しいです。
>>870
深夜に対応していただき、有難うございます。
「のどか」のバージョンはx64で問題なさそうです。
また、&DescribeBindings実行後に、BrowserBackキーを押した時のログは以下の通りです。
申し訳ありませんが、見方がよくわかりません。
=================================================================================
------------------------------------------------------------
のどか 4.25_sample for x64
built by applet@airport (Sep 22 2013 18:51:33, Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 14.00)
started at 2014年2月24日 2:13:47
C:\Program Files\nodoka\nodoka64.exe
use Keyboard filter driver.
------------------------------------------------------------
log was cleared at 2014年2月24日 2:30:38
Set show to Normal (MDI)
Set show to Normal
FocusChanged
HWND: 15041c
THREADID:2784
CLASS: C:\Program Files\nodoka\nodoka64.exe:#32770:Button
TITLE: C:\Program Files\nodoka\nodoka64.exe:ログ - のどか:ログのクリア(&L)
m_currentKeyPressCount:1
* Modifier Key
0x38 D-LeftAlt
one shot modifier is NULL
> &OtherWindowClass
* Gen Modifiers {
}
=> 0x38 D-LeftAlt
m_currentKeyPressCount:1
m_currentKeyPressCount:2
E0-0x4b D-A-←
one shot modifier is NULL
> &OtherWindowClass
* Gen Modifiers {
}
=> E0-0x4b D-←
m_currentKeyPressCount:2
m_currentKeyPressCount:1
* Modifier Key
0x38 U-LeftAlt
> &OtherWindowClass
=> 0x38 U-LeftAlt
m_currentKeyPressCount:1
m_currentKeyPressCount:0
E0-0x4b U-←
> &OtherWindowClass
=> E0-0x4b U-←
m_currentKeyPressCount:0
* No key is pressed
* Gen Modifiers {
}
=================================================================================
問題がありましたら、お知らせください。
なお、週末まで時間が取れそうにありません。
ご承知おきください。
よろしくお願いいたします。
>>871
追試結果ありがとうございます。
ログからは御申告どおり、キーバインド変更されていないです。
実際に、BrowserBackキーでキーバインド変更したいアプリ(現在うまく動いていないと判断されている)は何でしょうか?
それから、メモ帳に対して、キー操作して、&DescribeBindingsの結果のログを見せて頂けますか?
その後、同じくメモ帳に対して、BrowserBackキーを押したときのログもお願いします。
>>872
> 実際に、BrowserBackキーでキーバインド変更したいアプリ(現在うまく動いていないと判断されている)は何でしょうか?
特定のアプリではなく、グローバル設定として変更したいです。
うまく動かないと判断したのはIEとK2Editorというフリーのテキストエディタです。
K2Editorのショートカットキー登録機能を使うと、Alt+←が素通りしてくるのがわかります。
> それから、メモ帳に対して、キー操作して、&DescribeBindingsの結果のログを見せて頂けますか?
> その後、同じくメモ帳に対して、BrowserBackキーを押したときのログもお願いします。
メモ帳上で&DescribeBindings操作をしても反応しませんでした。
のどかのログウィンドウ上で&DescribeBindingsのキー操作を行った後に、
メモ帳上でBrowserBackを押したときのログは以下のとおり。
=========================================
HWND: 0
THREADID:4296
CLASS: C:\Windows\system32\notepad.exe
TITLE: C:\Windows\system32\notepad.exe
Toplevel Window Position/Size: (2, 0) / (2002740798x0)
Desktop Window Position/Size: (0, 0) / (1600x868)
Set show to Normal (MDI)
Set show to Normal
HWND: a03f0
THREADID:4296
CLASS: C:\Windows\system32\notepad.exe:Notepad
TITLE: C:\Windows\system32\notepad.exe:無題 - メモ帳
Toplevel Window Position/Size: (12, 42) / (943x754)
Desktop Window Position/Size: (0, 0) / (1600x868)
Set show to Normal (MDI)
Set show to Normal
HWND: 50422
THREADID:4296
CLASS: C:\Windows\system32\notepad.exe:Notepad:Edit
TITLE: C:\Windows\system32\notepad.exe:無題 - メモ帳:
Toplevel Window Position/Size: (12, 42) / (943x754)
Desktop Window Position/Size: (0, 0) / (1600x868)
Set show to Normal (MDI)
Set show to Normal
FocusChanged
HWND: 50422
THREADID:4296
CLASS: C:\Windows\system32\notepad.exe:Notepad:Edit
TITLE: C:\Windows\system32\notepad.exe:無題 - メモ帳:
m_currentKeyPressCount:1
* Modifier Key
0x38 D-LeftAlt
one shot modifier is NULL
> &OtherWindowClass
* Gen Modifiers {
}
=> 0x38 D-LeftAlt
m_currentKeyPressCount:1
m_currentKeyPressCount:2
E0-0x4b D-A-←
one shot modifier is NULL
> &OtherWindowClass
* Gen Modifiers {
}
=> E0-0x4b D-←
m_currentKeyPressCount:2
m_currentKeyPressCount:1
* Modifier Key
0x38 U-LeftAlt
> &OtherWindowClass
=> 0x38 U-LeftAlt
m_currentKeyPressCount:1
m_currentKeyPressCount:0
E0-0x4b U-←
> &OtherWindowClass
=> E0-0x4b U-←
m_currentKeyPressCount:0
* No key is pressed
* Gen Modifiers {
}
=========================================
よろしくお願いします。
>>874
再度、追試結果大変ありがとうございます。手元でも試してみました。
現状、うまく動作しない原因が、キーボードにあるのか、設定ファイルにあるのか
のどかにあるのか切り分け出来ていませんが、下記を御参考にしてみてください。
まず設定ファイルは、下記を使いました。
#
include "109.nodoka"
Keymap Global
key A-Right = &DescribeBindings
key A-Left = PageUp
最初に、メモ帳の上で、設定ファイルで定義したA-Rightを押して実行された&DescribeBindingsの結果です。
Set show to Normal (MDI)
Set show to Normal
HWND: 82bcc
THREADID:3640
CLASS: C:\Windows\system32\notepad.exe:Notepad:Edit
TITLE: C:\Windows\system32\notepad.exe:無題 - メモ帳:
Toplevel Window Position/Size: (477, 56) / (907x743)
Desktop Window Position/Size: (96, 0) / (1304x1050)
m_currentKeyPressCount:1
* Modifier Key
0x38 D-LeftAlt
one shot modifier is NULL
> &OtherWindowClass
* Gen Modifiers {
}
=> 0x38 D-LeftAlt
m_currentKeyPressCount:1
m_currentKeyPressCount:2
E0-0x4d D-A-→
one shot modifier is NULL
> &DescribeBindings
window Global ( /.*/ || /.*/ ) = &OtherWindowClass
mod Shift = LeftShift RightShift
mod Control = LeftControl RightControl
mod Alt = LeftAlt RightAlt
mod Windows = LeftWindows RightWindows
key A-← = PageUp
key A-→ = &DescribeBindings
最後の方に、キーバインドの一覧が表示されますが
これが、&DescribeBindingの結果となります。
メモ帳の上でも、Globalであると認識して、設定したキーバインドになるよう認識している状態となります。
では実際に、A-Leftキーを押した場合の詳細ログを下記に示します。
m_currentKeyPressCount:2
m_currentKeyPressCount:1
E0-0x4d U-A-→
> &DescribeBindings
m_currentKeyPressCount:1
m_currentKeyPressCount:2
E0-0x4b D-A-←
one shot modifier is NULL
* Gen Modifiers {
=> 0x2a D-LeftShift
=> 0x2a U-LeftShift
=> 0x38 U-LeftAlt
}
=> E0-0x49 D-PageUp
m_currentKeyPressCount:2
m_currentKeyPressCount:1
E0-0x4b U-A-←
=> E0-0x49 U-PageUp
m_currentKeyPressCount:1
m_currentKeyPressCount:0
* Modifier Key
0x38 U-LeftAlt
> &OtherWindowClass
=> (already released) 0x38 U-LeftAlt
m_currentKeyPressCount:0
* No key is pressed
* Gen Modifiers {
}
手元では、ブラウザキーは無いので、物理的にはAltキーと左カーソルキーを使いましたが
例えば、IE上でページスクロールが必要なページを表示している際、PageUpが機能したことを確認しました。
以上、よろしくお願いいたします。
>>875
回答有難うございます。
当方の返信がおそくなり申し訳ありませんでした。
そちらで使われたのと同じ設定ファイルを作成して試してみたのですが、
メモ帳の上で&DescribeBindingsのキー操作(Alt-→)をしても反応しませんでした。
そればかりか「Alt-→」の組み合わせでは、のどかのログウィンドウ上でも反応なしです。
この状態のまま、メモ帳上でBrowserBackキーを押しても反応なし。
さらにAlt-←を押してもPageUpせず、反応なしです。
異なる設定ファイルでC-A-Dを&DescribeBindingsに割り当てた場合、メモ帳上では反応しませんが、のどかのログウィンドウ上であれば反応します。ただし、この場合にはキーバインドの一覧などは表示されません。
正直なところ、何が何だよくわからなくなってきました。
まどかの前に「yamy-0.03」を試したのですが、その影響が何か残っているのでしょうか?
>>876
御報告大変ありがとうございます。
yamyが動いている状態で、のどかは実は動けるので、その場合には通知領域に、yamyとのどかのアイコンが両方並ぶことになります。
タスクマネージャーのプロセス一覧で、両方が動いていたり、スタートアップ登録に両方が登録されていなければ影響はないと考えます。
それから以前の御報告のログではuse Keyboard filter driver.の表示があるので、デバイスドライバモードと考えますが
インストール時にキーボードフィルタドライバが検出されたかどうかは判りますか?
もし、御記憶なくても、regeditで、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}
UpperFiltersの項において、kbdclass nodokad以外のドライバが登録されている場合には、影響がある可能性があります。
上記以外では、他にキーボードに関係するユーティリティアプリなどが無いかも御確認ください。
>>877
すばやい対応、有難うございます。
yamyは既に削除ずみです。
NLSキーの設定は使っていなかったのですが、レジストリが書き換わっていないか心配でした。
キーボードフィルタドライバ関連のレジストリ項目を確認しましたが、登録されているのは「kbdclass」と「nodokad」の2つだけでした。
yamy以外でキーボード関連ソフトといえば、思い当たるのはLenovoのTrackPointキーボード用のドライバだけですね。
このキーボードは手に馴染んでいて、とても快適なのですが、BrowserBack/Forwardキーに別機能を割り当てられないのは結構つらいですね。
もし他にも解決のための糸口などありましたら、ご指導ください。よろしくお願いします。
>>878
TrackPointキーボードのドライバを外すのは難しいかも知れませんが、無くてもキーボードとしては
ある程度動作するのではと考えます。
もし別のキーボードが存在するならば、一旦TrackPointキーボードのドライバは削除して、キーボード自体を変えてみるというのも
切り分けのためには一案かも知れません。
>>879
アドバイス、有難うございます。
このキーボードのドライバを外すと、マウス機能(TrackPoint)が使えなくなるので、それは厳しいですね。
とりあえずyamyをもう一度試してみることにします。
既に開発が終了しているらしく、サポートは一切期待できそうにないし、
前回試したときは、いきなりCtrlキーが押しっぱなしの状態になるなどの問題があったので、敬遠していたのですが...
どうしてもyamyがダメな場合はnodokaの購入を再考させていただきます。
その際はよろしくお願いいたします。
サポートしていただき、有難うございました。
プログラムからキーボード入力をWriteFileを使って行いたいのですが、
以下の様なコードでCreateFileを実行するとCreateFileが失敗します。
のどかでは、窓使いの憂鬱の様にWriteFileでキー入力ができないのでしょうか?
#define NODOKA_DEVICE_FILE_NAME _T("\\\\.\\NodokaWalk1")
m_device = CreateFile(NODOKA_DEVICE_FILE_NAME, GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED , NULL);
>>890
お問い合わせありがとうございます。
下記ように、1回CreateFile()実行して、失敗したら、サービスのスタートを実施しているコードがあります。
これは、窓使いの憂鬱でも同じですが、この違いはありますか?
デバイスドライバ自体のコードにも修正がありますが、オープンしてきたバイナリをチェックするコードは無いので、他のバイナリからでも
オープンできると思います。また
デバイスドライバのファイル名と論理的なデバイス名を変更した以外には、窓使いの憂鬱とは違いは無いという認識でいます。
// open nodoka device
bool Engine::open()
{
if (m_keyboard_hook != 0)
{
m_device = INVALID_HANDLE_VALUE;
return false;
}
// open nodoka m_device
m_device = CreateFile(NODOKA_DEVICE_FILE_NAME, GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);
if (m_device != INVALID_HANDLE_VALUE) {
return true;
}
// start nodokad
SC_HANDLE hscm = OpenSCManager(NULL, NULL, SC_MANAGER_CONNECT);
if (hscm)
{
SC_HANDLE hs = OpenService(hscm, NODOKA_DRIVER_NAME, SERVICE_START);
if (hs)
{
StartService(hs, 0, NULL);
CloseServiceHandle(hs);
m_didNodokaStartDevice = true;
}
CloseServiceHandle(hscm);
}
// open nodoka m_device
m_device = CreateFile(NODOKA_DEVICE_FILE_NAME, GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);
return (m_device != INVALID_HANDLE_VALUE);
}
初心者です。Ctrl キーと マウスの組み合わせ について質問があります。
mod control + = !無変換
key 無変換 = RCtrl
としているのですが、それだと 無変換キーとマウスクリック/スクロールの組み合わせのときに無変換キーがCtrlキーの役割をしてくれません。
def option mouse-event = true とするとその問題は解決するのですが、不安定になって不具合が数えきれないくらい出てくるので、使うのを諦めました。
def option mouse-event = true を使わないで無変換キーとマウスクリック/スクロールの組み合わせを使う方法はあるでしょうか?
今はとりあえず Ctrlキーだけは changekeyというソフトで替えていますが、Ctrlキーを使ったキーバインドがうまくいかなくなるので不便です。
>>893
御報告大変ありがとうございます。状況確認しました。確かに無変換キーがCtrlキーとして機能しないですね。
窓使いの憂鬱時代から持っている問題と理解しており、すぐに解消できる不具合では残念ながらありません。
チケットとしては、以前からワンショットモディファイヤーとマウスの併用の問題がネットで報告されていましたが
そのチケットのタイトルを変更しました。
https://sourceforge.jp/ticket/browse.php?group_id=3682&tid=30898
モディファイヤとマウスの併用
不具合原因の追究などのために優先度をあげ、サポートリクエストからバグに昇格させました。
>>893
追伸です。通常のモディファイヤーと真のモディファイヤーの違いによる現象であることを確認しました。
下記のように、通常のモディファイヤーにするとどうでしょうか?
mod control += 無変換
key *無変換 = RCtrl
ご返答ありがとうございます。
確かに私の環境でも、上記のようにすると、無変換+マウスで Ctrl+マウスの働きをするようになりました。
ちなみに、mod の文無しで
key *無変換 = RCtrl
だけでも、マウスに関しては 無変換が Ctrl の働きをしました(その場合は無変換と他のキーの組み合わせではCtrlになりませんが)。
ところで、前回、def option mouse-event = true とすると不具合がたくさん出てくると書きましたが、
その後、その不具合の多くは、最近買った Microsoft製のキーボードの不具合と組み合わさっていることが判明しました。
(そのキーボードの不具合というのは、任意のキーを数秒間押していると、キーが押された状態のままになってしまうもので、モディファイヤキーの場合はロックされた状態になります。)
失礼しました。
>>897
御報告ありがとうございます。無事動作して何よりです。
また、key *無変換 = RCtrlの話は、ワンショットモディファイヤーで、例えばSandS(スペースバーをシフトとスペース併用にする)と
マウス併用時の問題に関して、解決策が見つかる可能性があると考えます。情報大変ありがとうございます。
もう一つ気づいたことがあったので、一応ご報告しておきます。
mod control + = !無変換 や mod control + = !!無変換 とした場合に、無変換+マウスが機能しませんが、
無変換を押したまま他のキー(例えば shiftなど)を押した後にマウスを操作すると、機能するようです(その間無変換は押しっぱなしです)。
>>899
御報告ありがとうございます。どちらかと言えば、不具合っぽい動作ですが、実際に使われることないだろうと考えるので
そのままで良いだろうと思います。しかし、うまく出力できれば使えるという実証になっていると考えます。どうもありがとうございます。
surface 3 pro では、ペンの上部ボタンを押すと、OneNoteが立ち上がったり、画面がキャプチャできるのですが、
のどかを入れると、正常に動きません。設定ファイルをいじってみたがよくわかりません。
ペンの1クリックでは
E0-0x5b D-LeftWindows
0x6b
E0-0x5b U-Leftwindows
0x6b
がログには出力されます。これを無視するように設定するにはどのようにすればいいでしょうか?
>>903
御報告ありがとうございます。
6bというキーコードは未定義なので、下記を登録すれば、ログの出力表示が変わると考えます。
def key PenButton = 0x6b
しかしながら通常は、キーバインド変更設定が無い場合、そのままWindowsやアプリに渡され
この場合、Surface Pro 3にインストールされたOneNote起動だったり、画面をキャプチャしてOneNoteに張り付けるなどが
機能しないとおかしいわけです。
key W-PenButton = &Ignore
で無視できるようになるかもしれませんが、うまく行かない可能性もあります。
ちなみに2回押しの場合には、同じものが2回繰り返されますか?
>>904 返答ありがとうございます。貴重なアドバイスを元に試行錯誤しました。これが正解かどうかわかりませんが、今のところは正常位動くようになりました。
def key PenButton = 0x6b
def key PenButton2 = 0x6a
key D-W-PenButton = &Ignore
key D-W-PenButton2 = &Ignore
まだ少し疑問点もありますが、今のところ動いているようです。ありがとうございます。
>>905
御報告大変ありがとうございます。
ところで、ボタンを1回あるいは2回押すことで、OneNoteへの操作(起動やキャプチャ画面を貼り付ける)が出来るのが通常と考えますが
今回の設定を入れないと機能しないけど、入れることで、ほぼ正常に機能するようになったと考えてよろしいですか?
チケットを作成しました。次のバージョンアップの際には、キー定義を追加したいと考えます。
https://sourceforge.jp/ticket/browse.php?group_id=3682&tid=34088
今日の時点では、大丈夫と思います。もし変な動作がわかった場合は、またこの掲示板に報告させて頂きます。
>>907
ありがとうございます。承知致しました。今後ともよろしくお願いいたします。
複数キーボードの使用に関する質問です。
私のパソコンだと、Bluetooth で接続したパソコンは全部 def option UnitID = Kx 0 0 0 となってしまうので、Bluetooth 接続のキーボード間で異なるキーバインドはできないと思うのですが、
内蔵Bluetooth以外にもう一つ外付けのBluetoothアダプタを付けて、一つのキーボードをそちら経由で繋いだらどうなると思われますか?
>>909
お問い合わせありがとうございます。Bluetoothのキーボードが現在 Kx 0 0 0としか認識できていないのですね。
設定ファイルに、def option UnitID = K1 0 0 0だけを記述したときに、表示される下記のように表示されると考えます。
current device name:\\?\HID#VID_0709&PID_9137&MI_00#7&2373d6f3&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd}
def option UnitID = Kx 1801 37175 0
1801, 37175などではなく、Kx 0 0 0 と表示されているということになりますか?
もし、current device name: で表示された行を見せて頂けると、対応できる可能性があります。
現状の実装では、ここのHIDという文字列の後ろのVIDとPIDのところの数字を取ってきて、キーボードを区別しています。
この値がそれぞれ0になっていたり、HID(PS/2キーボードの場合はACPI)以外のキーワードだと処理していません。
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板