Jw_cad 相談室−その2 New

 Jw_cad についての相談の場としてお使いください
情報の交換には Jw_cad 情報交換室 をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください

2009年9月以前の発言過去ログのページからご覧ください。

それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。


  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
66 / 411 ツリー    ←次へ | 前へ→

画面移動を矢印以外のキーボードで行いたい。 Naka 17/3/11(土) 9:32

Re:画面移動を矢印以外のキーボードで行いたい。 LA 17/3/30(木) 6:04
Re:画面移動を矢印以外のキーボードで行いたい。 いっち 17/3/30(木) 23:37
これは楽しい マチャプチャレ 17/3/31(金) 7:14
参考になりました マチャプチャレ 17/4/3(月) 14:15
Re:画面移動を矢印以外のキーボードで行いたい。 いっち 17/4/8(土) 7:54
Re:画面移動を矢印以外のキーボードで行いたい。 mirror 17/4/8(土) 9:57
Re:画面移動を矢印以外のキーボードで行いたい。 いっち 17/4/8(土) 11:35
Jw_cad標準ではなくExmenuで設定した場合 いっち 17/4/10(月) 12:06

Re:画面移動を矢印以外のキーボードで行い...
 LA  - 17/3/30(木) 6:04 -
こんにちは
R.Nさん いっちさん ご試用ありがとうございます。


wasd.ahk 改造版です。
動作がなかなか安定しなくて時間がたち過ぎたため公開するか悩んだのですが、いっちさんの別スレでの質問を見て、やっぱり公開することにします。

大変遅くなってしまい、申し訳ありませんが、
もしよろしければ、使ってやって下さい。


基本部分をリマップ->ホットキーにしましたので、記載以外の修飾キーも同時押した場合には反応しなくなりました。
これにより、ShiftやCtrlキー同時押しとの住み分けが可能になります。

あと、基本設定(2)でオフセット〜On の場合を想定していませんでしたので、どちらでも動作出来るようにし、自動検出も付けました。


;JWW用WASDキー 要AutoHotKey Unicode版32/64bit + このスクリプトをUTF-8(BOM有)で保存
#usehook
SetTitleMatchMode,RegEx
mode=0 ;1:矢印キー〜がOn 2:オフセット〜がOn 0:自動検出 いらない場合は1か2に
jwwDraw=AfxFrameOrView120s1 ;JWWv8の場合 v7:90 v6:42 に数字を変更
WM_COMMAND := 0x111
btn=キャンセル

;mode自動検出
If mode=0
IfWinExist, ahk_exe Jw_win.exe ;何故か大文字小文字区別するっぽい
{
WinActivate
WinGetTitle, title

;基本設定
If title=jw_win ;既に基本設定がアクテイブか
btn=OK ;既にアクテイブの場合は設定内容を反映させる
else {
PostMessage, %WM_COMMAND%, 32891 ;基本設定
;Send, !ss ;だと文字コマンドの時安定しなかった
WinWaitActive, ^jw_win$
}

SetTabNum(2) ;タブを一般(2)(=2)に
ControlGet, ck, Checked,, オフセット・複写・移動・パラメトリック変形のXY数値入力のときに矢印キーで確定
PushBtnUntilWinExist(btn) ;基本設定ダイアログ(=LastFoundWindow)を閉じる
mode:=ChMode(ck? 2:1) ;オフセット〜 矢印キー〜 両方Offの場合については考慮しない
ControlFocus, %jwwDraw%
} else
mode:=ChMode(1) ;JWWが開いてない場合は強制的に1

Return


;+:Shift ^:Ctrl !:Alt #:Win <:左側のキー >:右側のキー
#If IsJwwDraw() and mode=1 ;この場合は矢印で移動 Ctrl+矢印でオフセット
w::Send,% GetScrLk("+") "{Up}"
s::Send,% GetScrLk("+") "{Down}"
a::Send,% GetScrLk("+") "{Left}"
d::Send,% GetScrLk("+") "{Right}"

#If IsJwwDraw() and mode=2 ;この場合はCtrl+矢印で移動 矢印でオフセット
w::Send,% "^" GetScrLk("+") "{Up}"
s::Send,% "^" GetScrLk("+") "{Down}"
a::Send,% "^" GetScrLk("+") "{Left}"
d::Send,% "^" GetScrLk("+") "{Right}"
;Shift付の小移動はAltやWin代用では動作が安定しなかったのでScrollLockで代用
;Ctrl+s や 外変直接起動 とか使いたいので Ctrl同時押しないですむように

#If IsJwwDraw() ;検出ミスした時用
>^1::mode:=ChMode(1)
>^2::mode:=ChMode(2)
;右Ctrl+フルキーの1,2 のみ


IsJwwDraw() ;JWWのメインウインドウがアクティブかの判定
{
;WinActive("- jw_win$ || ^◆◆◆ブロック図形") はうまく動作しなかった
IfWinNotActive, ahk_exe Jw_win.exe
Return False
WinGetClass, class
If class=#32770
Return False
Return true
}


ChMode(md)
{
If md=2
ToolTip, オフセット・複写・移動・パラメトリック変形のXY数値入力のときに矢印キーで確定
Else {
md=1
ToolTip, 矢印キーで画面移動 PageUp・PageDownで画面拡大・縮小、Homeで全体表示にする
}
Sleep, 1000
ToolTip
Return md
}


SetTabNum(num,win="",w=50) ;tabをnumにする
{
ControlGet, tab, Tab,,SysTabControl321,%win%
If tab <= % num
Control, TabRight,% num-tab , SysTabControl321,%win% ;マイナス値はNGらしい
Else
Control, TabLeft,% tab-num , SysTabControl321,%win%
loop{
Sleep, w
ControlGet, tab, Tab,, SysTabControl321,%win%
If tab=%num%
break
}}


PushBtnUntilWinExist(btn="OK",win="",w=50) ;winが無くなるまでbtnを連打
{loop {
Controlclick, %btn%,%win%,,L,,NA
IfWinNotExist,%win%
break
sleep, %w%
}}


GetScrLk(c)
{ Return GetKeyState("ScrollLock","T")? c:""
;Capsか迷った
}


GetTab()
{ ControlGet, tab, Tab,, SysTabControl321
Return tab
}

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 Sleipnir...@ntngno055002.ngno.nt.ngn.ppp.infoweb.ne.jp>
・ツリー全体表示

Re:画面移動を矢印以外のキーボードで行い...
 いっち  - 17/3/30(木) 23:37 -
▼LAさん:

こんばんは。

LAさんの投稿そのものは、朝気が付いたのですが、検証が今になってしまいました。

> 基本部分をリマップ->ホットキーにしましたので、記載以外の修飾キーも同時押した場合には反応しなくなりました。
> これにより、ShiftやCtrlキー同時押しとの住み分けが可能になります。
> あと、基本設定(2)でオフセット〜On の場合を想定していませんでしたので、どちらでも動作出来るようにし、自動検出も付けました。

とても使いやすくなりました。

> やっぱり公開することにします。

ありがとうございます。

----------------------------

スクリプトに書かれていた

;オフセット〜 矢印キー〜 両方Offの場合については考慮しない

と、

;この場合はCtrl+矢印で移動 矢印でオフセット

について、どういう意味か知りたい場合は、Jw_cadの一般(2)の設定画面をいじってやってみるとへぇ〜ていう感じですね。
(私はそれをやってみました。)

----------------------------

私は、このwasd.ahk 改造版を利用させて頂こうと思います。

----------------------------

そういえばこのスレのスレ主のNakaさんですが、R.Nさんの下記の発言
> 昔のダイヤモンドキーのようなキー割り当て(WASD.ahk)を、どのような場合に、使用されているのでしょうか?
を読んだ後ふと思ったのですが、AWK関連で検索して出てきたハンドルネームの方とは別人でしょうか?
その後全く投稿されないし、どうでも良い事でしょうけれど。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

これは楽しい
 マチャプチャレ  - 17/3/31(金) 7:14 -
▼LAさん、いっちさん、お久しぶりです。

AHKはautoitの派生と知り、自分の頭の中でごっちゃになりそうなので敬遠していました。

実際に試してみると楽しい!あまりに楽しくて指が攣りそうになったので、キーをESDFに変更して使ってみていますw

便利で楽しいスクリプトをありがとうございます。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36@47.78.239.49.rev.vmobile.jp>
・ツリー全体表示

参考になりました
 マチャプチャレ  - 17/4/3(月) 14:15 -
LAさん、こんにちは

>PostMessage, %WM_COMMAND%, 32891 ;基本設定
>;Send, !ss ;だと文字コマンドの時安定しなかった

autoitで難儀している部分の参考になりました。
ありがとうございます。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36@p5842188-ipngn4502marunouchi.tokyo.ocn.ne.jp>
・ツリー全体表示

Re:画面移動を矢印以外のキーボードで行い...
 いっち  - 17/4/8(土) 7:54 -
みなさん、こんにちは。

AHKについては、マチャプチャレさんの言われている
> AHKはautoitの派生
という事さえ、(私は)知りませんでしたが、

LAさんの書かれたスクリプトに出てくる AfxFrameOrView120s1 と #32770 が、AutoHotkey の Window Spy もしくは、AutoIt の Window Info のいづれでも取得出来る事に気が付き、へぇ〜そうなんだと、思いました。
(UWSCのマクロ記録でも、#32770 なら、記録されるんですけど。)

スクリプトのコメントにある
> ;JWWv8の場合 v7:90 v6:42 に数字を変更
について、今後Jw_cadがバージョンアップした時は、自分で Window Spy 用いてチェックすれば良いだけでした。
(なので、あえて書かせて頂きました。)

--------------------------------------------------
mirror さんの Exmenu (Exmenu037h) には、
> keycursor:50 Jw_cadの設定に関わらず、矢印キーで画面移動ができるモードです(数値は移動量・指定の無い場合は無効です)037h
というものがあります。

LAさんの書かれたスクリプトとは、発想が異なるところにおもしろみを感じます。
ただ私の環境だと、 #32770 を取得できる状態(文字コマンド実行中)でも、画面移動します。
もっとも、その動作が好みでない場合には、keycursor:50 は、コメントアウトすれば良いだけです。

マクロの動作は、好みもあるから、自分でも(少し)弄れるようになれると(本当は)良いですね。

--------------------------------------------------
なんか、このスクリプトで、楽しませて頂いているような気がしています。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

Re:画面移動を矢印以外のキーボードで行い...
 mirror  - 17/4/8(土) 9:57 -
▼いっちさん:

>ただ私の環境だと、 #32770 を取得できる状態(文字コマンド実行中)でも、画面移動します。

当初は、文字ダイアログ表示時には画面移動しないようにしていましたが
Editbox内でのカーソル移動は、マウス操作でできるのでやめました
逆に言うと、文字コマンド中にも画面移動が可能になっているという事です
今度Ctrlキーのコンビネーションで、カーソル移動になるようにしておきます

Windows 10 Creators Update(RS2)での動作確認中です
Jw_cadの動作には、特に問題が発生していないように思います

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Ed...@FLA1Aag009.koc.mesh.ad.jp>
・ツリー全体表示

Re:画面移動を矢印以外のキーボードで行い...
 いっち  - 17/4/8(土) 11:35 -
▼mirrorさん:

お返事ありがとうございます。

> >ただ私の環境だと、 #32770 を取得できる状態(文字コマンド実行中)でも、画面移動します。
> 当初は、文字ダイアログ表示時には画面移動しないようにしていましたが
> Editbox内でのカーソル移動は、マウス操作でできるのでやめました
> 逆に言うと、文字コマンド中にも画面移動が可能になっているという事です

Exmenu の作者である mirror さんのこだわりで良いのではないでしょうか。
利用しない機能を無効にして、必要な機能はなんであるか考え、カスタマイズする事により、使いやすくなるようですから。

> Windows 10 Creators Update(RS2)での動作確認中です
> Jw_cadの動作には、特に問題が発生していないように思います

情報ありがとうございます。
Windowsの更新は、あまり急いでしようと考えてませんけれど、自動更新とかあるでしょうから。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

Jw_cad標準ではなくExmenuで設定した場合
 いっち  - 17/4/10(月) 12:06 -
mirrorさんのExmenuで、
> keycursor:50 Jw_cadの設定に関わらず、矢印キーで画面移動ができるモードです(数値は移動量・指定の無い場合は無効です)037h
を有効にした時に、「オフセット」は使えるのか、使えないのか、気になって確認しました。

Jw_cad標準では、矢印キーで画面移動ができるように設定してしまうと、「オフセット」ができなくなりますが、Exmenuでは、矢印キーで画面移動ができる条件で、「オフセット」も使えます。

keycursor:50 は、そういう用途の為の設定のようです。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

66 / 411 ツリー    ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
 392647
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b3
Jw_cad Copyright (C)1997-2016 Jiro Shimizu & Yoshifumi Tanaka