窓使いの憂鬱 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以降 >>629さん、>>630さん、レスありがとうございます。
すみません、確認したところvimの設定ファイルが影響していました。
vim側のを無効にしたらTABが入りました。
こちらの確認不足によりお騒がせしてしまい申し訳ありませんでした。 いまyamyを使っています。SandS、また変換と無変換でかな漢のシーソー切り替え、これらと数字キーで、Fnの機能に割り当てています。
mod shift += !!Space
mod mod0 = !!無変換
mod mod1 = !!変換
key *IC-M0-_1 = F1...
このような使い方で、変換+Spaceや無変換+Spaceを押したときに、キーリピートを含む通常のスペースを実現したいと思います。
mod shift += !!Space を設定するときに、変換や無変換が押されていなければ、SandSを実行し、どちらかが押されて
いれば通常のSpaceキーにする設定をすればよいと思いますが記述がわかりません。
そのような記述は可能なのでしょうか、詳しい方ご教授願います。 >634 さん
レスありがとうございます。やっぱりワンショットモデファイではできなさそうですね。
参照ページを見ました。これなら、窓使いの憂鬱のマニュアルを読んで変更できそうです。
いろいろトライしてみます。どうも情報ありがとうございました。 yamy0.03でPauseを押すと、0x45が帰ってくるので、
Pauseキー押下で呼び出すソフトウェアが呼び出せなくなっています。
本来のスキャンコードに戻す場合、レジストリを弄るしか無いんでしょうか?
と思ったけど、yamy側で上書きするからこの手も無意味?
E0NumlockのNumlock化とかは、普通に書いて動くんですが、
ここがどうにもならない。 109.mayu(または104.mayu)はどうなってんの >>637 >>638
104.mayuは付属の物を使ってます。プラス自分の.mayuで次のように記述
def key NumLock = E0-0x45
def key Pause = 0x45
key Pause = &VK(Pause)
iniのNLSエスケープは0にしています。
これでPauseキー押下時に、
E-0xff &VK( E-D-0xff )
E-0xff &VK( E-U-0xff )
0x45 D-NL-SL-Pause
0x45 U-NL-SL-Pause
と帰ってきます。 substかなんかで偽NumLockは別なキーにしないと def key E0NumLock = E0-0x45
def subst E0NumLock = NumLock
こういうことで良いんでしょうか?
ただ、Pauseを押すと0x45(本来のNumLock)が帰ってくる所がどうにも出来ず…
とりあえず週末にでも勉強してみます。 そうやってE0NumLockをNumLockにsubstしたのなら
Pauseで入力されるE0じゃないNumLockはいらないでしょ
だから適当な使わないキーにsubstすればいい >>642
あー…そういう事ですか。しかし使わないキーが無いので&Ignoreしちゃいました。
あんまりスマートじゃ無いけど、何とかPauseを押したときにPauseが、
NumLockを押したときにNumLockが掛かるようになりました。
アドバイス下さった皆様に感謝です。
def key E0NumLock = E0-0x45
def subst E0NumLock = NumLock
key NumLock = &Ignore
def key E0Pause = 0x45
key D-E0Pause = &VK(D-Pause)
key U-E0Pause = &VK(U-Pause)
まだなんか違う気もする… key E0Pause = &VK(Pause)
でいいんじゃないの。 おしえてください……。
テキストファイルなどを保存する際に、ダイアログボックスに現れた階層より上の階層に保存したいのです。
ショートカットでalt+↑を押せば移動できるのですが、それを「カタカナひらがな」キーで処理したいのです。
そこで
key ひらがな = RightAlt-↑
という一行を設定ファイル?に書いてみたのですが、うまくいきません。
どう書けばいいのでしょうか? key ひらがな = A-Up
でいいんじゃない? ありがとうございます。やってみたんですができませんでした……。 ありがとうございます。やってみました。が、できないようです……。 まず、情報少なすぎない?
そもそも窓使いの憂鬱なのかyamyなのかのどかなのか、バージョンはいくつなのかさえ書いてない
それが関係するのかはわからないけど、質問するなら書いて当然
OSは何?セットアップオプションは?
キー定義は109なのか104なのか、書き換えているのかいないのか
ひらがなキー単体で受け取れているのか、ログには出るのか
うまくいかないというのはどううまくいかないのか、「反応しない」という意味でいいのか
他のコントロールやウィンドウで試したらどうなのか なるほどおっしゃるとおりです。失礼しました。。。
のどか 4.20 for x64
windows 7 セットアップオプション?はよく分かりません。
いま設定ファイルはこんな感じです。
# 2dot.nodoka
include "109.nodoka"
keymap Global
mod control +=英数
key *英数 = *Lcontrol
key C-H = Backspace
key *IL-*IC-C-F = Enter
key C-G = Delete
key C-K = ←
key C-L = →
key C-Semicolon = ↑
key C-Comma = ↓
key BackSpace = CommercialAt
key CommercialAt = BackSpace
key *ひらがな = A-Up 他のウィンドウでも試してみたのですが、無反応です。
ファイル保存だけでなく、普通にドライブからフォルダを開ける、等で上の階層に戻ろうとしても、同じく無反応でした。 とりあえず
key ひらがな = a
って設定で、テキストエディタ上で[ひらがな]押してみろ
正常ならテキストエディタにaが入力されるはず やってみました。無反応でした。どこか異常みたいです。。。 のどかを起動してないとか
起動してるけど読み込んでる設定ファイルが>>651とは違うとか 起動はしてますし、設定ファイルは>>651の最後を
key ひらがな = a
にしたものです。
なんだかすみません。。。 >>651の
key C-Comma = ↓
とかは効いてるけど
最後に追加した
key ひらがな = a
だけは効いてないって事? yamyでも同じようにできないのか調べたら良いんじゃないかな
ちなみにうちにyamyではちゃんと動いてる 設定ファイルの置き場所によっては、変更・保存したつもりが反映されないことがある。 うちはのどか4.25だけど、その設定でちゃんと上の階層に登る
調査ウィンドウでひらがなキーを押したときのスキャンコードと仮想キーの調査をしてみて
ひらがな=aの設定ならこうなるはず
■スキャンコード
0x70 D-ひらがな
0x70 U-ひらがな
■仮想キー
0x41 &VK( D-A )
0x41 &VK( U-A )
A-Upなら仮想キーがこうなるはず
0x12 &VK( D-MENU )
E-0x26 &VK( E-D-UP )
E-0x26 &VK( E-U-UP )
0x12 &VK( U-MENU )
あと起動したときのログに
loading: 〜
ってどの設定ファイルを読んでるのか出てるので、
ちゃんと意図したものを読んでるのかどうかを確認してみて >>659
あぁVirtualStoreか。ありそうだね。 最近&ShellExecuteを知って、ランチャーの起動に使ってる
最強に快適 ひらがなキーで上の階層に上ろうとした者です。
>>660さんの
>loading: 〜 ってどの設定ファイルを読んでるのか
ここをチェックしたところ、のどかが読み込んでいるファイルと違うファイルに追記していたことが分かりました。
以前、親指シフトキーボード用に別の設定ファイルを作っていまして、
今回追記していたのはそちらのファイル、
本来読み込む通常使用キーボード用のファイルは別の位置にありました。
本来のファイルに教えて頂いた一行を追記し>>651のようにしたところ、無事上の階層に移れました!
設定ファイルを別個作っていたのをすっかり忘れてしまっていました。
読み込まないファイルに追記したって作動しませんよね。。。
単純な見落としでお騒がせして申し訳ありません。
有難うございましたm(_ _)m Yamyでの質問です、よろしくおねがいします。
フォントの変更時にWindowsフォルダにyamyというファイル
が作られますが、これを任意の場所にするにはどうしたらいいですか?
yamy.exeと同じ場所にしたいのです。
試しにバッチファイルで環境変数WINDIR、SYSTEMROOTをYamyのカレントに
変えて実行してみましたが、結果は変わりませんでした。
お分かりの方おりましたらよろしくお願いします。 右クリックして、[ログ(L)] → [フォントの変更(F)] のことです。 キーリピート速度に関係するWindowsのキーリピートじゃなくて、
ゲームでも使えるようなUPとDOWNを連続的に発生させるような連射的なのって、
どうやったら実現できます? キーリピートは他のソフトに頼ってるな
kbdaccがまず入っていて、そこにさらに秀丸が加速をかけたり、
joytokeyが独自の速度でリピートしたり
いろいろ競合してる筈だけど、意外と困らない key hoge = &VK(D-moge) &VK(U-moge)
ってしたら一回のDownでDとUでるんじゃね。
key hoge = &VK(D-moge) &VK(U-moge) &VK(D-moge) &VK(U-moge) &VK(D-moge) &VK(U-moge)
これで3回。速すぎるなら&Pause入れて。 >>669
ありがとうございます、試してみているのですが、
たとえば秒間10連射にしようと &Wait(100) をいれてしまうと、
キーを離してもまだ入力が続いてしまって、いわゆる連射ボタン的な動作にはならないみたいです。
「キーを押している間」というモディファイアがあればやれそうな気はするのですが。 Windows 7 64 bit で yamy 0.03 を使っています。
コンパクトキーボード用の設定として 109compact.mayu を作成して次のように設定してみました。
include "109.mayu" # 109 keyboard
keymap Global
mod alt -= RightAlt
mod control += RightAlt
mod mod0 += !Hiragana
key M0-*BackSpace = Delete
やりたいのは、右 Alt キーを Ctrl モディファイヤに、
Hiragana + BS を Delete に設定することです。
しかしなぜか mod0 に Hiragana を割り当てた途端、Hiragana を押さなくても
ほとんどのキーに M0 が付加されてしまいます。結果、BS は Delete キーだけになってしまいます。
ほかに何か設定が必要なのでしょうか。 明にM0を書いた時だけM0がかかってほしいなら
key *M0- =
じゃないの
知らんけど >ほとんどのキーに M0 が付加されてしまいます。結果、BS は Delete キーだけになってしまいます。
の意味がわからん。調査のログを貼ってみれ。 >>673
こうなります。
0x0e D-M0-BackSpace
0x0e U-M0-BackSpace
0x2c D-M0-Z
0x2c U-M0-Z
0x2a D-M0-LeftShift
0x2a U-M0-LeftShift
0x1e D-M0-A
0x1e U-M0-A
0x10 D-M0-Q
0x10 U-M0-Q
それぞれ単独で1回だけ押してます。
Hiragana と同時に押したときだけ M0 がついて欲しいんですが、
常に押していることになっているみたいです。 mod mod0 += !Hiragana
の+を消してみるとか
event after-key-up = &VK(U-○○○) ←かなキーの仮想キー名
追加してみるとか
だめもとで >>674
なぜかは知らんけど普通ではないね。
設定ファイルまるごとどっかに貼ってみるとか
http://codepad.org/ >>676
ちょっと最近忙しくて書き込めませんでした。
設定は自分の設定分なら >>671 がまるごとです。
あまりカスタマイズする方ではないんで。
少し調べてみると、yamy になった際にドライバからキーフックに変わった関係で、
Hiragana は E0Hiragana にしないと云々というのがあったのですが、詳細がよくわかりませんでした。
あまり変換関係をモディファイヤにってのはしないんでしょうかね。
やっぱり一番多いのは CapsLock と Ctrl の入れ替えなんでしょうね。
引き続き情報お願いいたします&何かわかったら報告いたします。 >しかしなぜか mod0 に Hiragana を割り当てた途端、Hiragana を押さなくても
>ほとんどのキーに M0 が付加されてしまいます。
これのせいで惑わされた
割り当てた途端じゃなくて、一度押したら押しっぱなしとみなされるでしょ?
NLSキー問題だからescapeNLSKeys=1してE0つければいいよ >>678
おお、有力情報ありがとう!
……と思って早速やってみたんだけど、
escapeNLSKeys=1 にすると、「yamy64 は動作を停止しました」になってしまいます。
管理者で実行もやってるんですが、何か足りないんでしょうか。
一応今のバージョンだと、これだけでいけそうだと思ったんですが。 設定の問題じゃなくて
その環境に何か競合するアプリが入ってる可能性が高いと思うが そうかもしれない。Win 8.1 だと停止はしないものの、読み込みが失敗になります。
検証していくしかないですね。ありがとうございました。 RDPでのどかを使う場合、両方のPCにインストールするべき? >>682
NLSキーの入れ替えが必要ならば、yamyと同じようになるように
ローカルとリモート両方ともLL Hookモードにして
かつNLSキーの入れ替えを実施した方が良いでしょう。 Win7 64bitで使ってるんですけどyamyを起動してないと
Capslockと半角全角キーが効きません
マウスでIMEからでないと切り替えができません
shift+2を押しても@にならないので英字キーボードにはなってないと思います
yamy起動時のキー変更にcapslockと半角キーは含まれてないです
なにか解決策はありませんか 全てのプログラミング言語の積集合を理解してれば十分な気がする。
Javaなんか仕様が肥大化しすぎて理解できん。 積集合って共通部分だけって意味だぞ
そんなもん、何も知らないに等しい Windows7でyamyを escapeNLSKeys=1 にして使ってるんですが、VNCでLinuxへ接続するとNLSキーが効きません。
キーマップが変わってるからだろうと思い、xevでキーコードを確認しようとしたのですが、NLSキーを押してもxevには何も出ません。
これはキーマップが変わった云々の話ではなく、キーがLinux側へ全く渡っていないということなんでしょうか? VNC使ってないけど
yamyがSendInputしたキーは完全無視されてて
もっと低レベルでキーを拾ってるんじゃないのる >>692
でも、以下のように「無変換」をモディファイアにしてカーソル移動に当てているんですが、
これは問題なく動いているので、LLフック後のキーが送られているのは確かだと思います。
mod mod0 = !E0無変換
key M0-*H = *←
key M0-*J = *↓
key M0-*K = *↑
key M0-*L = *→
以下、xevが出力したキーコードです。
state 0x10, keycode 98 (keysym 0xff52, Up), same_screen YES,
state 0x10, keycode 100 (keysym 0xff51, Left), same_screen YES,
state 0x10, keycode 102 (keysym 0xff53, Right), same_screen YES,
state 0x10, keycode 104 (keysym 0xff54, Down), same_screen YES,
なお、サーバのLinuxはFedora14、VNCはサーバ・クライアント共にTigerVNCです。
他のVNCソフトを試したり、別のクライアント(WinXP)やサーバ(CentOS6等)の組み合わせも試しましたが、結果は同じでした。
どなたか、Windows→LinuxのVNC接続において、yamyでNLSキーが届いたという方いませんか? VNC入れてCentOS6に繋いでみたけど
yamyを使わなくてもNLSキーは届かないじゃん
クライアントが無視してるんじゃないの? 解決しました。
なんと、TigerVNCは日本語キーボードに対応していないというオチでしたorz
UltraVNCだとNLSキーがちゃんと届きました。
TigerVNCは今後の主流のVNCってみんなして言うから盲目的に使ってたけど、
それはサーバの話で、クライアントはまだまだってことなのかな。
ちなみに、変換キーは使わないので代わりに
key *変換 = 半角/全角
と半角全角にしてるんですが、何故かキーのアップとダウンが逆になります。
特殊なキーの場合は D- や U- を明示していしないと駄目なんでしょうか?いやそんなわけないか・・・ chrome で emacsEditできてるかたいらっしゃいませんか。
わたくし、次のような設定で、うまくいっておりません。
window Chrome_Address /:Chrome_AutocompleteEditView$/ : EmacsEdit
window Chrome_Edit /:Chrome_RenderWidgetHostHWND$/ : EmacsEdit
バージョン 35.0.1900.0 (258131) window Chrome /Chrome_WidgetWin_1/ :EmacsEdit >>697
!!!動きました!!!
クレープを進呈させていただきたい気持ちです! win-Lすると部分的に設定を忘れるのはどういうことだ 知らん間にのどかのGUI Editがだいぶ進化してるんだね。
でもなぜか自分の設定ファイルのエンコードが「西ヨーロッパ言語」になってて文字化けしちゃう。 当方Win7 64bitでnodokaを使用中なんですが、キーリピートの設定について質問があります。
キーリピートが開始されるまでのディレイを短くしたいのですが、nodokaで設定したところ、ある程度までは短くなってくれるのですが0などにしても実際に0になってくれません。
(0にしたいわけではないのですが)
たとえばリピートが開始されるまで50msとかの設定にするのは、nodoka以外をいじらないといけないのでしょうか? >>705
helpによれば、以下ですがPC性能依存が効いているのでは。
リピート開始までの時間の値域は 100から3000msec、リピート間隔は、5msecから500ms ですが、
PCの性能に依存し、滑らかなキーリピートにならないことがあります。
コントロールパネルで設定できる最小250msに対し、それよりも短くするために
ソフト的にキー入力があった時刻から、設定した時刻を過ぎたら、Key Downを
送り続ける機能なので限界あるのだと考えます。
ソースコード上は0でも設定できますが、直前に5ms待つ実装があるので、5msより速くなることは無いとも言えます。 windows7 64bit
日本語キーボード
yamy 0.03
今使っているノートパソコンが頑固なのか、日本語変換関係のキーを捕まえられない。
具体的に「半角/全角-漢字」キーの場合、一度押すと
0xf3 &VK(U-OEM_AUTO)
0xe5 &VK(D-PROCESSKEY)
こんなのが来て、もう一度押すと
0xf4 &VK(U-OEM_ENLW)
0xe5 &VK(D-PROCESSKEY)
とトグル的に切り替わる。
そして0xf3のスキャンコードの後は、qwertyキーが面倒な事になっていて例えば「A-ち」キーの場合、
0xe5 &VK(D-PROCESSKEY)
0x41 &VK(U-A)
という具合。
OEM_AUTOでぐぐっても、yamyのソースコード、新JISを作ろうスレ、がひっかかるくらいで、yamyで使いこなした例が見つからない。
具体的にやりたい事は、
「半角/全角-漢字」をEscと同じ機能に
「無変換」を左Ctrlと同じ機能に
「変換」をIMEのON/OFFトグルに(通常はALT+(半角/全角-漢字)で間に合う)
の3点。
「CapsLock-英数」を左Ctrlにするのはレジストリでねじ伏せた。
「半角/全角-漢字」はレジストリで戦えない。
うーん。
他のwin7やwin8の環境では、変換関連のスキャンコードや挙動はwinXPと同じなんだけどなあ。
このノートパソコンの環境だけ良くわからない。
他の環境で実績のある外付けキーボードも、このノートパソコンに繋ぐと本体キーボードと同じ挙動なので、ドライバやBIOS周りの問題かも。 「0xf3のスキャンコードの後」というのはIMEがONになった状態。
IMEがONのときは「A」キーの長押しで
0xe5 &VK(D-PROCESSKEY)
0xe5 &VK(D-PROCESSKEY)
0xe5 &VK(D-PROCESSKEY)
0xe5 &VK(D-PROCESSKEY)
0xe5 &VK(D-PROCESSKEY)
0xe5 &VK(D-PROCESSKEY)
0x41 &VK(U-A)
なんて状態に。
IMEの変換窓にはちゃんと、あああああああああと表示されるから、キーの入れ替え置き換えをしない分にはごく普通に使える。
謎。 解決途上。
署名されてないプログラムは以下の4択だが、一番下を選ぶ事で大幅に明日が見えるようになった。
実行しない
暗転してウィンドウを出してユーザーに実行するか問う
暗転せずウィンドウを出してユーザーに実行するか問う
何でも実行する ←これ!
たかだかキーボードのカスタマイズでセキュリティレベルが地べたに落とすとか、マイクロソフトと俺の二人とも馬鹿だなと思う。
という書き込みを、xp機からしてる時点で・・・
7がまともにカスタマイズできたら乗り換える予定なんだが。 一応解決。
まず、半角全角キーが変。
半角全角を離したときにbreak(U-)が発生しない。恐らく上述のOEM_AUTOとかに関係すると見たが。
頭おかしい。
で、.mayuの記述はこれで解決。
key D-*半角/全角 = D-*esc U-*esc
mod control += 無変換
key *無変換 = M-半角/全角
key *ひらがな = M-半角/全角
これと上述の、セキュリティレベルを最低にする事で何とか生きていけそう。
4連投すまんね。 あ。手で写したのでひどい事に。
key D-*半角/全角 = D-*esc U-*esc
mod control += 無変換
key *無変換 = *LeftControl
key *変換 = M-半角/全角
key *ひらがな = M-半角/全角 7連投達成。
>>707
> 「CapsLock-英数」を左Ctrlにするのはレジストリでねじ伏せた。
これをyamyで対処するにはNLS=1を使うべきだったような記憶がよみがえってきた。 PC壊れて
↓
PC新調して
↓
XPから7に換えて
↓
窓使いの憂鬱が使えなくて
↓
AutoHotKeyを使うも解説サイトがやる気なくて
↓
yamyをみつけたものの
↓
憂鬱の.mayuがそのままでは動かないキーが続出して
↓
なんかかんや頑張ってるワタシ
Win7のメリットなんて全然感じられないし何なんこれ 質問するわけでもなし
愚痴りたいだけならチラシの裏にどうぞ ん。
急にwin7でNumLockが変な挙動になった気がする。
こんなところがwindows updateで改変されるとも思わないが。どうしたんだろうか。
一時停止時
E-0x90 &VK( E-D-NUMLOCK )
E-0x90 &VK( E-U-NUMLOCK )
常駐時
E0-0x45
E0-0x45 どっとmayuの中で以下の設定で直った。
たまたま顕在化しただけで、昔から問題を抱えてていたのだろうか?
# 109.mayuより引用
def key NumLock = 0x45
# どっとmayuの中で
def key E0NumLock = E0-0x45
key *E0NumLock = *NumLock 窓憂からyamy導入したけど
ShiftやAltやCtrl押しっぱなし状態になる病になるわ
なんなんだこれ
対策書いてあってやっても、すぐ発病。クソかよ
こんなこと窓憂なかったで
最低 なるなる。
行儀悪いタイピングとかマウスの併用とかのせいと思って精進してる。
キーボードの左端と下端をなぞれば大体直るし。
直らんときもあるけど。
家では少ないなー
とか思ってたらまだxpだった。セキュリティの甘いxpに感謝。 買ったとたんにメジャーバージョンアップとか死にたくなるじゃん。 押しっぱなし病なら、初代からの遺伝だし
仕組み的にどうにかしない限り根本解決は不可能なはず シングルコアCPUなら発症しないんじゃなかったっけ。 原因が複数あるんだよ
しかも環境によってどれが起きるかが違う
マルチコアで起きるやつは対策されたはず
それも複数あって環境依存でまだ起きるやつがあるのかもしれんが ver0.03で止まってるからなあ。
神ハッカーに見放された段階で、もう対策は期待薄々。 ■ このスレッドは過去ログ倉庫に格納されています