一括表示

− 野ざらし言 −

[5342] VTDOS環境での mg.-9

めざら 2023/03/15(Wed) 13:30
http://mezala.la.coocan.jp/
【mg.-9】は内部ワークにある前回の FEP 制御パラメタで,&j(0) で FEP を
オフにしたときに,それ以前の FEP の状態を保存しておく場所です。
mg.-9 に保存された値を見て FEP の制御をマクロで行うことができます。

ちょっと唐突な導入ですが,以前の純 DOS などと環境が異なるというメモです。
…というのも,以前 HP200LX が壊れたあとの携帯端末として GPD Micro PC を
購入したのですが,[全半],[変換],[無変換]等の存在しない英語キーボードで
あることはもちろん,ひどく特殊なキー配列でして,しかも LX のような
便利なシフト系キーロック機能がないし,IME の起動キーが Ctrl+'~' に
固定されています。Ctrl は左のみで '~' も左端なので,超絶押しにくい。

スキャンコードを入れ替えてキー配置を入れ替える設定を使えばどうにでも
なるような気もしますが,そもそもキーの数が少ないのでそれも支障あり。

どうせ VZ しか使わないからマクロでオン・オフすればいいや…と思ったけど,
なんだかちょっとうまくいかない。…というのも,他の端末ではそのような
面倒が一切なかったので,FEP オン・オフのトグルなんてやったことなかった。

以前 Emmett さんが言っていた…
 ※ FEP OFF の状態からもう一度 &j(0) をやった場合、98 版
   だと mg.-9=0 になるのに、DOSV では mg.-9=9 になる。
…に従って &j(0) (mg.-9==9)?&j(10) をやっても変な動作をする。
 &j(0) (mg.-9)??&j(10) だと動いたりする。どうもおかしい。

…というわけで,テストマクロで mg.-9 の値を確かめると,
オフのときには 0,オンのときには 1 を示した。な〜んだ……

というわけで,VTDOS 環境では IME がオフのときに &j(0) を
実行すると mg.-9 は 0。オンのときは 1。むしろ覚えやすいや。

=t
*m
1 @B "IME ON/OFF"
	&j(0) &m("OFF")
	(mg.-9)??{ &j(10) &m("ON") }
*

…というメモでした。チャンチャン。

[5343] Re: VTDOS環境での mg.-9

konno 2023/04/11(Tue) 23:47
[5342]へのコメント
めざらさん、亀レスです。

> 以前 Emmett さんが言っていた…
>  ※ FEP OFF の状態からもう一度 &j(0) をやった場合、98 版
>    だと mg.-9=0 になるのに、DOSV では mg.-9=9 になる。
> …に従って &j(0) (mg.-9==9)?&j(10) をやっても変な動作をする。
>  &j(0) (mg.-9)??&j(10) だと動いたりする。どうもおかしい。
> 
> …というわけで,テストマクロで mg.-9 の値を確かめると,
> オフのときには 0,オンのときには 1 を示した。な〜んだ……

ということは、VTDOSは PC98 と同じということですか。
気になったので、各種環境で試してみました。

> 1 @B "IME ON/OFF"
> 	&j(0) &m("OFF")
> 	(mg.-9)??{ &j(10) &m("ON") }
> *

このマクロだと他の機種で上手く動かないので、ちょっと変更しました。

1 ^P "IME ON/OFF"
	&j(0) &m("mg.-9:%d  OFF",mg.-9)
;	(mg.-9)??{ &j(10) &m("mg.-9:%d  ON",mg.-9) }
	(mg.-9==0)?{ &j(10) &d &m("mg.-9:%d  ON:VT",mg.-9) }	;PC98 VTDOS
	(mg.-9==9)?{ &j(10) &d &m("mg.-9:%d  ON",mg.-9) }	;DOSV
*

マクロ起動キーが @B だとIMEやFEPをOFFに出来ないことがあるので 、^P にしました。
それで mg.-9の値の変化を見るために、&j()の後にインスタント窓の値も載せました。
IME ON/OFF の時の値も載せました。
MS-DOS Player は VZでIME制御出来ていないので除外しました。

mg.-9の値     &j(10)  inst窓   &j(0)  inst窓	     IME:ON  IME:OFF
--------------------------------------------------------------------
NP2		0	1	1	0		1	0
VTDOS		0	1	1	0		1	0
DOSVAXJ3	0	10	10	9		10	9
Win98ME	DOS窓	10	10	10	9		10	9
Win2000	DOS窓	0	10	10	9		10	9


こうして見ると、&j(10)直後の値が違うものもありますが、タイミングの問題か?
&j()の直後とインスタント窓の値で mg.-9の値の変化するのは、どのタイミングなのか?

> というわけで,VTDOS 環境では IME がオフのときに &j(0) を
> 実行すると mg.-9 は 0。オンのときは 1。むしろ覚えやすいや。

私はここの記述で、問題と認識できていなかったようです。(^^;


# もう少し早く気が付いていたら VTDOS の更新前に相談できたかも・・・ (^^;

[5344] Re^2: VTDOS環境での mg.-9

めざら 2023/04/12(Wed) 14:56
[5343]へのコメント http://mezala.la.coocan.jp/
環境ごとの表にすると,比較するみたいで却って混乱しませんか?

> 私はここの記述で、問題と認識できていなかったようです。(^^;

特に「問題」はないと思いますよ。
環境ごとに FEP を制御しようとする値は異なりますし,mg.-9 に格納される値も変わるわけで,個々の環境に応じた値を与えたり得たりすればよいことだと思うわけなのです。

今回たまたま,変てこな配列の英語キーボードの MicroPC で IME 起動キーがひどく押しにくくて,せめて VZ を使うときだけでも押しやすいキーにしようと思ったら,昔の環境と異なる値だったので備忘録に入れただけです。

ユーザの多い公開マクロで,マクロ中に FEP 制御させるコードを入れている場合は少し注意が必要なのかもしれませんけど,今やそんな人気マクロ師いないし(^^;)

[5346] Re^3: VTDOS環境での mg.-9

konno 2023/04/12(Wed) 21:38
[5344]へのコメント
> 環境ごとの表にすると,比較するみたいで却って混乱しませんか?

私は比較が好きというか、一覧にするのが好きなんでしょうね。(^^;

> 特に「問題」はないと思いますよ。
> 環境ごとに FEP を制御しようとする値は異なりますし,mg.-9 に格納される値も変わるわけで,個々の環境に応じた値を与えたり得たりすればよいことだと思うわけなのです。

環境ごとに違うのはそうですが、予想と違う値だったりすると混乱します。
私は mg.-9 の値の変化が理解できなくて、今回この機に再履修しようと思ったのです。

> 今回たまたま,変てこな配列の英語キーボードの MicroPC で IME 起動キーがひどく押しにくくて,せめて VZ を使うときだけでも押しやすいキーにしようと思ったら,昔の環境と異なる値だったので備忘録に入れただけです。

それを見た私が VTDOSの更新があったこの機に正確な数値が知りたくなって一覧にしたということですね。(^^;

> ユーザの多い公開マクロで,マクロ中に FEP 制御させるコードを入れている場合は少し注意が必要なのかもしれませんけど,今やそんな人気マクロ師いないし(^^;)

この界隈でマクロに一番精通している人って、やっぱりめざらさんかなとは思っています。(^^;
VTDOSがIME制御を付加した当時のログは大変参考になる記事がありますので、つい読みふけってしまいました。(^^;
うちの掲示板の #6446:IME制御つきのVz(ckwv+vtdos)  投稿者:文太   2014/05/09(金) 02:26
からのツリーです。もう9年になるんですね。

↑ このページの先頭