窓使いの憂鬱 9 (のどか,yamy)
■ このスレッドは過去ログ倉庫に格納されています
Windows 2000/XP で動く汎用キーバインディング変更ソフト「窓使いの憂鬱」と、
その派生版を語るスレ
■本家
「窓使いの憂鬱」
http://mayu.sourceforge.net/
※開発終了。Windows Vistaでは動作しないが、有志によるハック版で動作報告あり。
■派生
汎用キーバインディング変更ソフト「のどか」
http://www.appletkan.com/nodoka.htm
窓使いの憂鬱 Linux & Mac (Darwin) 対応版とか配布してるところ
http://members.at.infoseek.co.jp/hattoushin_uma/
yamy(Yet Another Madotsukai no Yuutsu)
http://sourceforge.jp/projects/yamy/
過去スレなど>>2以降 俺はEmacs使ってないからなんとも言えんけど、スレを読む限りではのどか作者に報告して対応を
まつしかないんじゃない? のどかでも同様の挙動だとすれば。
IMEをon/offする動作と連動させてLockをon/offし、LockがかかってればIMEもかかってるとする、と
判断するスクリプトをかけば動かんことはないとおもう。モードずれしやすいけど。
109標準で言えば、半角/全角を押すとIMEがon/offされるがそれと同時に&Toggle(Lock0)させるってことね。 23.1と23.2の間の変更だってことまでもうわかってるんだから
ソースの差分みて関係する部分を直すパッチ作ればいいさ
emacs使いならそれくらいは ごめん。
Happy Hacking Keyboard Pro2の◇キーをWinキーに割り当てたいんだけど、
やり方教えてくれないか?
どうもよく解らなくて。 調査ウインドウでそのキーがどんなコードを出すのか調べる。 チラ裏すまそ。XPにIE8を今さらながらインストしたんだが、
インスト後Modキー絡みの反応がすごく遅くなってしまって、すごい焦った。
Modキーのすべてが遅くなったわけではないけど、foobar2000とかの操作で固まったりとか。
即刻IE8アンインスコして事なきを得たが、XP+IE8だと繭はこういうものなのかな。
設定次第で回避できるのかもだが、そもそも普段IE使ってない自分にとって
不要なアップデートなんてするもんじゃないなということを再確認した。
ブラウザにしろOSにしろ新しいのはよくわからん。XP+IE6でずっといいや。 >>65
XPでIE8で、まあ普段はYAMYでSleipnirなんだけど、mayuに変えても
とりあえずうちでは変な挙動に心当たりはないな
foobar2000とやらは試してないけど
>>58
nodokaの人がいまTSF対応をしているみたいですが、
それで解決できるのかも? >>65
うちでは繭もFB2Kも特に問題出た事ないなぁ。尤もIE8はアップデートくらいしか使ってないが。 のどかの人はちゃんとここ見てるんだなw
>>65
うちはXP+IE8で問題起きてない
仕組みから考えて特定のアプリが影響するようなことは
考えにくいんだけどなぁ
キーボードユーティリティみたいなのは別だけどIEはそうじゃないし Winキーを単独で押したときは無効にする事って出来ない?
スタートメニューを出さないようにしたい。
今まで別のソフトで実現していたんだけど、Win7に乗り換えたら動作しなくなってしまって。 Key W-LWindows W-RWindows = &Ignore
65です。レスしてくれた人ありがと。
自分のところだけの問題のようですね。
少し詳しく書かせてもらうと、
keymap2 Player
event prefixed = &HelpMessage("Player", \
"I:\t前の曲\r\n" \
"K:\t次の曲\r\n" \
"M:\t再生/一時停止\r\n" \
"R:\tリピート\r\n" \
"\r\n" \
"S:\t音量 上げる\r\n" \
"A:\t音量 下げる\r\n" \
"H:\tウィンドウ表示/非表示\r\n" \
"C:\t設定\r\n" \
"Q:\t閉じる\r\n" \
)
event before-key-down = &HelpMessage
key a = &ShellExecute("open", "foobar2000.exe", "/command:Down",, ShowNormal)
key c = &ShellExecute("open", "foobar2000.exe", "/config",, ShowNormal)
key h = &ShellExecute("open", "foobar2000.exe", "/command:\"Activate or Hide\"",, ShowNormal)
key i = &ShellExecute("open", "foobar2000.exe", "/prev",, ShowNormal)
key k = &ShellExecute("open", "foobar2000.exe", "/next",, ShowNormal)
key m = &ShellExecute("open", "foobar2000.exe", "/playpause",, ShowNormal)
key q = &ShellExecute("open", "foobar2000.exe", "/exit",, ShowNormal)
key r = &ShellExecute("open", "foobar2000.exe", "/command:\"Repeat (track)\"",, ShowNormal)
key s = &ShellExecute("open", "foobar2000.exe", "/command:Up",, ShowNormal)
keymap Global
key M0-h = &ShellExecute("open", "foobar2000.exe", "/command:\"Activate or Hide\"",, ShowNormal)
key M0-p = &Prefix(Player) ↑の続きです。
というのがあると、
M0-p で&HelpMessage から操作する分にはどのキーでも問題なくて、
M0-h で直接&ShellExecuteから入力するとアプリが遅く(固まったように)なる。
Activate or Hide の命令でウィンドウ表示が遅くなり、非表示させようとすると固まる感じ。
なので、これ以外にも、
key M0-f = &ShellExecute("open", "EjctClse.exe", "Q:",, ShowNormal)
でDVDトレーの開閉が極端に遅く、しばらくまたないと閉じられない現象になる。
繰り返しになるけど、IE8を使わなければ問題ない事なので、これ以上自分で問題を検証したりすることはしないです。常用ブラウザはFirefoxですので。
個人的な環境の問題と自分では結論付けておきます。
初めてインストしたものだから、XP+IE8はこうなのかなと素朴な疑問を書かせてもらった次第でした。
IE8への批判や文句とかでは決してないですので。長文すまそ。 ごめん、直接&ShellExecuteだと問題があって、keymap2なら動くのか。
HelpmessageはExplorer依存だから関係あるかと思って。。
俺もXPでIE8だけど、Foobar2000のグローバルホットキーとかも問題なく動いてるなぁ。 キーボードだけかと思ったけどマウスでもボタン押しっぱなしになるんだな。
焦ったんだぜ。
logicoolのマウスユーティリティとyamyが相性が悪いっぽかった。
マウスボタンの置き換えを有効にしなきゃいまのところ大丈夫。 窓使いの憂鬱を使っていると、キーが勝手に高速リピートになってしまうことってないでしょうか。
本当に困っています。これさえなければ、繭は最高のWindowsソフトだと言いたいんですが・・・
環境はWindowsXPですが、2000でも同じ現象がおきています。.mayuにどんなものを書いてもその現象が起きます。
マニュアルを読むとそれらしい項目があるのですが、「あなたは以前に〜(IME関係のソフトウェア)を入れていたことがあります」
とありますが入れた形跡がないことは確認しました。過去ログを一通りさかのぼって検索しましたが見当たらなかったのでお知恵をお借りできないでしょうか。
よろしくお願いいたします。 >>79
AltIMEのことかな
これに限らずキーボードユーティリティならどれも干渉する可能性がある
自作じゃないなら知らないうちにプリインストールされてるかもしれない
とりあえずフィルタドライバによる干渉については
レジストリを見てkbdclassとmayud以外が何もないことを確認
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}\UpperFilters >>80
そのレジストリの位置を確認してみたところ、kbdclassとmayud以外には何もありませんでした。
>これに限らずキーボードユーティリティならどれも干渉する可能性がある
そうなんですか!常駐しているkbdaccっていうキーリピートを加速するソフトが
原因なのかもしれない・・・ちょっと検証してみます。
ただWindowsのデフォルトのキーリピートは遅すぎるし、kbdaccが使えなかったらどうしたらいいんだろう・・
とにかくありがとうございますね! キーリピート遅いか?
遅いと思ったこと無いけどな
もしカーソル移動とかに使ってるなら
キーボードのPageDownとかEndとか使った方がいいと思う >>81
> 常駐しているkbdacc
なんでコレを最初に書かないのかが意味分からん。 キーリピート加速は一定の需要があるよ
だからkbdaccがあるんだしmayuでもキーリピート加速が検討されてたことがある
中心的な開発者の人が忙しくなってそのままフェードアウトって感じで流れたけどな
kbdaccとの組み合わせは残念ながらいくつか干渉事例が報告されてる >>82
主にカーソル移動に使っていますが、1行に50文字ある文章の場合、
中間地点の文字に移動するためにはEnd(Ctrl-E)などでは対応できないためです。
>>81
kbdaccについて最初に書かなくてごめんなさい。
ただ最初に書かなかったのにはもちろん理由があって、kbdaccを常駐から外しても(外したつもりで外れてなかっただけかもですが)
キーが勝手にリピートしていたため原因ではないと判断したからです。
ただし常駐していなくてもレジストリを書き換えていないかなど確認するために「検証してみます」と書きました。
誤解を招いてすみませんでした。
>>84
kbdaccとの組み合わせは干渉事例があったんですね。
kbdaccを使わないで何とかキーリピート加速ができないかを考えてみます。ありがとうございました。 おいおい、のどかにキーリピート加速付いてるだろ。
kbdaccと相性悪いから搭載したのかどうかは忘れたけど。
・キーリピート速度設定機能
def option KeyboardDelay, def option KeyboardDelayMax, def option KeyboardDelayKeyを追加し、キーリピートの高速化が可能です。
Pause/Breakキーのようなキーリピートが発生しないキーを除き、リピートを速く(遅く)設定できます。
マウフフックによるキーには効きませんが、GamePadでリピートを有効にしたボタンには効きます。
KeyboardDelayMaxは最大リピート期間、KeyboardDelayKeyではキーごとに個別のキーリピート速度設定が可能です。
現在、一部のキー入力自体を遅くする機能は未実装です。
Ctrlキーなど、モディファイヤーキーが押されたままとなる不具合に関して、KeyboardDelayMaxが有効かどうか裏が取れていません。 >>86
あー!なるほど確かに!!!
k-termか何かで、「c-uはカーソルから左側1行削除」に慣れてたせいでそのように設定してしまってましたが
その操作はc-a>c-kで代用できるのでc-uは元に戻すといいのかも。ありがとです。 yamyで、ふとしたきっかけでCntl押しっぱなしとかShift押しっぱなしになるのだけど、
ここで報告されてるのと違って自分の場合、その後でCntl押そうがShift押そうが
押しっぱなしが解除されない。結局Yamyを再起動する以外ないのですが、これって他になにか
対処する方法ありますでしょうか?
XP上でNLS=1で使用しています。
なんだろう、普通に入力していて、Cntlといくつかのキーを同時押しとか(間違えて)
してしまうと、起こることが多い、気がします。 >>89
右のShiftやCtrlも押して離してみて ちなみにyamyだとkbdaccが別に不都合起こらない気がするんですが、使用している方どうですか? 過去ログが見られなくなっていたのですみませんがお聞きできますでしょうか。
yamyを使っていてShiftが押しっぱなしになる件について、私の場合はExcelファイルなどを開いていて
それを閉じた後に100%の確率でShiftが押しっぱなしになるようです。
その件、>>32-39を参考にしましたが>>32-39と違って特定のキーを押したときになるわけでは
ないので対処法に困っています。OSはWindowsXP、SP3です。 窓使いの憂鬱 Linux & Mac 版のダウンロードページが閉鎖されてるんですけど…
開発者の方できればご対応いただけないでしょうか
よろしくお願いいたします >>94 ではありませんがダウンロードできませんでした
log>>アクセス先のアドレス http://www42.tok2.com/home/negidakude/cgi-bin/download/download.cgi/mayu-0.11.tar.gz は現在使用できません。ウェブアドレス (URL) が正しく入力されていることを確認して、ページを更新してみてください。 >>98
もう一度ダウンロードしてみてもらえませんか?
今確認したら、自分のところからは問題無くダウンロード出来ましたので > もう一度ダウンロードしてみてもらえませんか?
もれだけなのか?サイト上のアーカイブ関連はすべてダウンロードできない 無関係だけど試しにダウンロードしてみたよ。
黙ってコネクション切られちゃうみたい。
とりあえず、今ダウンロード出来るところ。
ttp://www.appletkan.com/download/mayu-0.11.tar.gz
ttps://build.opensuse.org/package/files?package=mayu&project=home:hamaco
俺はごく当たり前にDLできたよ。
一応言うとFireFox。関係ないと思うけど。 ダウンロードできたかと思ったがよく見たら0KBのファイルができてるだけだった さっき見たときは広告が文字化けしてたけど今見たら直ってた
ダウンロードは相変わらずできない >>102
とりあえず、さんくす、ダウンロードできました ちゃんとダウンロードできるように修正しました。
お騒がせしました。
>>102
フォローありがとうございます。
>>106
めっちゃ関係ありました。ありがとう。 ダウンロードできました
開発者の方および皆様に感謝します xyzzyを使うときだけ、窓使いの憂鬱もしくはyamyを無効にすることって可能なんでしょうか
普段の操作をemacs設定にしているため、xyzzy特有の設定を.mayuで一つ一つ解除してましたが
よく考えたらxyzzyを使うときだけmayu、yamyを無効にすればいいだけじゃん・・・って思ったので・・ Globalを継承しないウインドウクラスを作るとかかね むしろmayuを使う人はキー割り当てをアプリごとに個別設定したいから使うんだと思ってた あら、知らん間にのどかのバージョンアップしてたんだな。誰か教えてくれよ。
なんで下駄ブログで知るんだよ。 >>114
過去にVectorで買ったなら
ユーザー登録しろよ
通知メール送ってくれるぞ メールは来てるよ。ほぼスパムしか来ないからたまにしか確認しないんだ。 なんで、メールも読まないような奴に教えてやらなければならないんだよwww 2chは読んでるから、ってことでしょう。平和でイイんじゃないの。
今まではリリースを書き込んでくれてた奇特な人がいたけど
今回は、空いた期間が長かったし。もっとも不具合あって
1週間で再リリースだったけど。 >>117
ケチくさいこと言うなよ。俺とお前の仲じゃねーか。
今度から気がついたら教えてくれよな!
いっとくがおれはいつも気がついた時には書き込んできたからな、繭の頃から。 近々Windows Vista 7 64bit OSに乗り換えようと思ってるんですが
どれがオススメの窓使いの憂鬱なんでしょうか?
今まではVistaがインスコできない騒ぎの時に公式のを2chの人がハックしてくれたのをVista 32bitで使ってました 有料だけど機能的に一番豊富なのどか
ゲームなど一部効かないことがあるけど無料のyamy
どっちにするかは各自の使い方と好み のどかもハッキング防止システムを使ってるゲームだと弾かれることはよくあるね。 nshell使ったってゲーム内でのどかが使える訳じゃないんだから
「そのための」で受けるのはお門違い。
俺はのどか(繭)依存度が高いから、弾かれるならゲームを諦める。 nshellはキーボード入力を受け付けなくす一部のクソアンチハッキングのために
のどかを終了させるためのものだぞ
なんで>>125みたいな話になるの? 回避はできるけど解決はしてないってことでしょ
「そのための」の日本語の意味の議論をここで始めるのは簡便な ゲームやんないからずっとyammyだったけど、google日本語入力に対応してくれたからいまはのどか一択だわ。 ありがとうございます
ありがとうございます
yammyって倒したらメダルでそうですね
>>122
yamyはユーザモードのフックベースなんですね
これってAutoHotKeyと同じようなレベルなんでしょうか
前にこのあたりの比較図があった気がしましたが失念してしまいました。
いまのところnProtectを使うようなゲームには出会っていないのでyamyでも大丈夫かもしれません
前スレに図ありました
yammyのフックのレベルであれば、AHK利用者ならAHKでもいいのかもしれません
344 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2009/06/13(土) 23:27:40 ID:Jr40wJOW0
┐
キーボード │
↓ │ハードウェア
USB or PS/2 │
│ ┘
↓ ┐
ドライバ │
↓ ← フィルタドライバ │カーネルモード
NTカーネル │
│ ┘
↓ ← LLフック ┐ ┐
Windows API │Winサブシステム │
│ ┘ │ユーザーモード
↓ ← メッセージフック ┐ │
アプリケーション │ユーザープロセス |
┘ ┘
あんまり正確じゃないけどこんな感じ?
mayuやnodokaがフィルタドライバ、
yamyやAHKがLLフック、cmkeyがメッセージフック。
>>343
キーの入れ換えとか、もう少しできる事は多くなるはず。
他のプロセスに邪魔されないならドライバ型に限りなく近い。
>>110って、結局どうやってます?
自分も似たようなことをやりたいんだけど、うまくいきません。
複数のアプリ(TeraTermとEmacs)では一部のキーマップのみ有効にして
それ以外を無効にしたいのですが、効率的な書き方がわかりません。
ズバリの書き方を伝授してもらえると助かります。
window指定で「〜と…以外」という書き方ができればいいのですが、
正規表現でそれを書くのはほぼ無理ぽ…。 その二つ用のキーマップ作って、継承させりゃいいだけでしょ keymap KeymapDefault = &Default
window tekitou /tekitou\.exe/ : KeymapDefault
key Esc = &WindowClose
# tekitou\.exe 全般はデフォルト動作(繭無効)で、Escキーのみ繭(有効)で、がオーソドックスな方法かと。 GlobalにEmacsEdit適用すると誤爆が多いからアプリ毎に指定したほうが安心。
んでxyzzyにはGlobal指定する。 質問が曖昧ですみません。
こんな状況↓なんですが、改善できますかね?
[やりたいこと]
(1)「変換」に「半角/全角」を割り当てるなど、若干カスタマイズしたい。
(2)カーソル移動はemacs風にしたい。
(3)TeraTermやEmacsなど一部のアプリは上記(2)をはずしたい。
[現在の設定]
Globalを継承しないTeraTermとEmacsのキーマップを二つ定義し、
(1)はGlobalとその二つのキーマップに重複して定義している。
[改善したいこと]
(a)定義を重複して記述しているので、設定を変更したいときに複数個所をもれなく修正が必要。
(b)Globalを継承しないキーマップを個別に定義しているので、そのようなアプリが増えたときに手間がかかる。
global に共通定義。それを継承した二つのキーマップで、片方は一般用、もう一方は除外2アプリ用 >>131にもあるとおり、yamyってたしかLLフックだよね?
なんでcapslockとctrlの置き換えができるんだろう
yamyは実際にはフィルタドライバのフックなんじゃないかな お前は何を言っているんだ
フィルタドライバを使わなくてもCtrl入れ替えができるのが
LLフックを使ってる最大の理由だろうに しれっと嘘を言うなw
LLフックじゃ CapsLock 取れないのはどのツールでも同じ。
レジストリのScanCodeMapを書き換えて、強制的にモジュール再ロードさせてるんでそ。
http://sourceforge.jp/ticket/browse.php?tid=17575&group_id=4424
それはNLSキーが特別扱いされてる問題であって別の話だ またまた適当なw
日本語OS+日本語キーボードだとCapsLockキーは無いんだよ。
(キー刻印の下段(の左)にあるのがキー名で、上段(の左)にあるのはShift押下時に有効となるキーだ。)
LLフック使えば分かるが、英数キーのコード(VK_ALPHANUMERIC)はDownしか送られてこなくて Upが来ない。
従って置き換えは無理。
だからLLフックより上流(低レベル)でキーボード(ドライバ)からの信号のScanCodeを置き換える
ScanCodeMapで別のキーコード置き換えてから、LLフックで捕らえてキーアサイン変えている。
(フィルタドライバはそれより更に上流) なるほど、yamyはレジストリの書きかえとLLフックを併用した結果、
強力なカスタマイズ能力を備えるに至ったのか
わかったぞ >>143
LLフックだけじゃなかったのか
必要なところだけレジストリでリマップしてるとか頑張るな 普通のフックじゃなくてLLフックにしてる意味ってなに? のどかの中の人って、要望を寄せると可能なら応えてくれるのね。
何か要望だそうかね。押しっぱなしをどうにかして欲しいけど。 でも最近ブログとかで日本語乱れててなんだかお疲れな気がするよ のどか初心者なのですが、先輩方に教えていただきたいのでお願いします。
エクセルで値貼り付けを、ファンクション10キーでおこないたい。
そこで、下記のように入れたのですけど・・・・・・・・
key F10 = LeftAlt E S V Enter
10回中1回か2回、Alt E Sのところで終わってしまいます。
特に大きいファイルをいくつか立ち上げているときです。
キーの連続して押される時間、もう0.1〜0.2秒空けるよう変更するにはどのようにすればいいのでしょう。
>>152
途中でEnter押してしまいました。すいません。
0.1秒なら100msecなので
key F10 = LAlt &Wait(100) E &Wait(100) S &Wait(100) V &Wait(100) Enter
あるいは
key F10 = LAlt &WaitKey(100) E S V Enter &WaitKey(0) >>154さんへ
>>152です。両方とも成功いたした。
ありがとうございます。
いままでマニュアルの違う部分ばかり見ていました。
&Wait
&Waitkey
FUNCTION リファレンスでしらべたらしっかり載っていました。
50msecくらいで使用していきたいと考えています。
本当に助かりました。 mayuの構文、慣れが無いと難しいよね
サンプルを置くアップローダーとかwikiとかってあった方がいいのかなぁ? マウス・パッドからキーイベントを生成するのは出来るけど、
逆にキーからマウス・パッドのイベントを生成したいってのは
技術的に無理なのかな。今でも VK_* なら生成できるけど、
あくまで仮想キーだから使い途が限定されてて。 繭もyamyも気がついたらCtrlが押しっぱなし状態になっていることってありませんか?
そうならないようにする方法はそれとして、そうなってしまったときに解除する方法ってあるんでしょうか?
Ctrlをもう一回押したり長く押し続けたりしても直らず、今のところWindowsを再起動するしか方法がないんですが・・・
わかる方がいたらお願いします。 ■ このスレッドは過去ログ倉庫に格納されています