今日のテーマ   日々改造 (^_^;)         
[記事リスト(ツリー表示)]  [ 返信 ]   [新着記事] [最新50] [ワード検索] [過去ログ]

タイトル Re^7: KS のシフトチェックの値
投稿日: 2023/03/29(水) 02:50
投稿者konno
 番 号 10732    10731 番 めざら さんへのコメント    コメント数 1

> ksmiru.def は榊原さんのナイスな小物マクロです。 

そうだったのですか、2進数の表示は凄いと思いました。読めないし。(^^;

> konno さんの環境は常に Numlock が立ってるのですね。
> もしかして,本体連動しないテンキーとか接続していたりします?
> (それか,デスクトップのフルキーボードって Numlock 立ってるのでしたっけ?)

富士通の10キー付ノートPCです。Numlock が無いと使えないのです。
そうか、$20  32 は、Numlock が立っていたのですね。全然気が付きませんでした。
このマクロでの数値は

STKHLP IBM版表示 VTDOS MSDOSPlayer DOSVAXJ3
  +1 :R[Shift]   3   1     1
 +3 :L[Shift]   3   3     3
 +4 : [Ctrl]   4   4     4
 +8 : [Alt]    8   8     8
 +16: [ScLk]            16
 +32: [NmLk]   32        32
 +64: [Caps]            64
 +128: [Ins]            128


DOSVAXJ3 の [Caps] は、1度押しでIME起動、2度目以降は [Caps]ON 表示のままになります。
他のエミュでは、IME に取られるのか、表示が出ないですね。

この KS の値は、AH02 INT16h BIOSコールの値とほぼ同じですが、シフトだけ違います。
	ax$0200,&i($16) k=ax,&m("key= %04x  %d",k,k%256)	;AH02h  shift check

STKHLP IBM版表示 VTDOS MSDOSPlayer DOSVAXJ3
  +1 :R[Shift]   3   1     1
  +3 :L[Shift]   3   2     2

これは、.vz1.5 の時の値ですね、1.6 ではvzが値を変更しているのかな。
AH12 INT16h BIOSコールは、AH02 の値とほぼ同じですが、違いもあります。

81 ^^  "keyshift?"
	?.
:a
;	ax$0200,&i($16) k=ax,&m("key= %04x  %d",k,k%256)	;AH02h  shift check
	ax$1200,&i($16) k=ax,&m("key= %04x  %d",k,k%256)	;AH12h  (enh) shift check
	&w(10)
	&k (r-$1B)?>a				;ESCが押されてない?
	&m("") &d .

*

AH12h (enh) shift check では、VTDOSで
  +16: [ScLk]  
key= 1000   0
このように、ah に 10h が入りますね。微妙な違いです。(^^;


> > この辺、ダメもとで 10#さんにメールしてみようかな。
> 
> ホットキーの事例もあることだし,まずは皆さまのコメントを待ちましょうか。(笑)

メールしちゃいました。(^^;
やっぱり WinAPIの仕様らしいです。

>Win32Consoleの仕様を理解して貰えれば話は早いのですが、
>VTDOSはDOSコマンドとWin32コンソールコマンドをシームレスに扱う為に、
>Win32ConsoleをUIとすることが第一要件になってます。
>DOSキー入力の元はCONIN$からのキーイベントで、シフト状態もこれから生成しています。
>これはキューイングされたイベントなのでリアルタイムなシフト状態という訳ではありませんが、
>概ねリアルタイムな物となります。
>このキーイベントの仕様としてシフトだけが何故か左右の区別がありません。
>この仕様に則った場合、コンソールでの貼り付けが利用可能になります。
>貼り付けをサポートするのもこの仕様を採用する理由ですが、貼り付けの仕様上、
>シフト状態がリアルタイムな物である事を保証するものではありません。

仕様ということで、あとは直に変数に代入することで問題なく使えると思います。

    - No.10732 一括表示へ   -   コメント元:10731 一括表示へ  -    [ 返信 ]    [引用無し] pre


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
10709.【乞検証】現環境で出来なくなったこと - めざら 23/03/26-11:12
  ┗10710.Re: 【乞検証】現環境で出来なくなったこと - 文太 23/03/26-14:58
   ┣10711.Re^2: 【乞検証】現環境で出来なくなったこと - 文太 23/03/26-15:25
   ┣10712.ゴミ2 - 文太 23/03/26-15:43
   ┣10714.on WinME - 文太 23/03/26-22:45
  ┗10715.Re: 【乞検証】現環境で出来なくなったこと - konno 23/03/26-23:27
   ┣10716.Re^2: 【乞検証】現環境で出来なくなったこと - 文太 23/03/26-23:50
   ┣10718.Re^3: ks&1 は変数に入れたほうが確実 - konno 23/03/27-00:05
   ┣10720.Re^4: ks&1 は変数に入れたほうが確実 - 文太 23/03/27-00:26
   ┗10722.Re^3: 【乞検証】現環境で出来なくなったこと - めざら 23/03/27-18:54
    ┣10723.Re^4: 【乞検証】現環境で出来なくなったこと - shadow 23/03/27-19:49
    ┣10725.Re^5: 原因はVTDOSのバックログ機能だった - konno 23/03/27-20:58
    ┗10726.Re^5: 【乞検証】現環境で出来なくなったこと - めざら 23/03/27-21:01
     ┗10727.Re^6: 【乞検証】現環境で出来なくなったこと - 文太 23/03/27-21:07
      ┗10728.ゴミ3 - 文太 23/03/27-21:18
    ┗10724.Re^4: 【乞検証】現環境で出来なくなったこと - めざら 23/03/27-20:51
     ┗10729.Re^5: KS のシフトチェックの値 - konno 23/03/27-22:51
      ┗10731.Re^6: KS のシフトチェックの値 - めざら 23/03/28-22:04
       ┗10732.Re^7: KS のシフトチェックの値 - konno 23/03/29-02:50
        ┗10733.Re^8: KS のシフトチェックの値 - 文太 23/03/29-13:27
         ┗10735.Re^9: KS のシフトチェックの値 - konno 23/03/29-22:31
          ┗10738.Re^10: KS のシフトチェックの値 - 文太 23/03/29-23:22
   ┗10721.Re^2: 【乞検証】現環境で出来なくなったこと - めざら 23/03/27-14:16

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)   [引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft pre(図表、プログラム) ※折り返さずに改行を入れてね
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]