Fnキーを拾うには?

解決


amide  2004-08-18 04:12:34  No: 10451

ノートパソコン(NEC-LavieL)のFnキーは下記のFormKeyDownイベントで拾えません。
VK_で始まるキーコードにもないようです。
Fn+↑キーでページアップ機能を組みたいのですが、Fnキーを拾うにはどうすればいいのですか?

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  showmessage(inttostr(key));
end;


Kashiken  2004-08-18 05:14:04  No: 10452

最近ではパソコンの小型化が進み、キーボードも小さくなってきています。
Fnキーはそういう小さいキーボードに配置できない、本来あるべきキーをエミュレートするためのキーです。
例えばPgUp,PgDn,Home,Endなどは本来のキーボードでは専用キーのがあるのですが、小さいキーボードではFn+↑,↓,←,→など、Fnキーとの2キー押しを使うことによってキーを配置するスペースを減らしています。

そのなかでFn+↑は主に〔Page Up〕キーの代替として使われているものなので
VK_PRIORで取得できると思います。また、Fn+↓については、〔Page Down〕キー(VK_NEXT)です。


TtPIPICH  2004-08-18 05:43:05  No: 10453

Fnはキーを押すためのキーですので、OS等には伝わりません。デスクトップPC等では(多分)ほとんど無いでしょう。


amide  2004-08-18 18:51:47  No: 10454

長年(?)の疑問が解決しました。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加