2017-09-22 12 views
0

Windowsのlazarus/fpcとmapvirtualkey関数を使用して、VKコード からascii文字を正常に取得できました。MapVirtualKeyに相当するLazarusクロスプラットフォーム

mapvirtualkeyに相当するクロスプラットフォーム(特にmacOS)のlazarus/fpcはありますか? MacOS上でlazarus/fpcを使用して現在のキーボードレイアウトの下にあるVKコードに対応するascii/unicode文字を取得する他の方法はありますか?

ありがとうございます!

編集:(言い換えられた質問)Mac上のLazarusのonKeyDownイベントは、「キー」パラメータを提供します。このパラメータをこの "Key"に対応するascii/unicode文字に変換する方法はありますか?

+0

仮想キーコードに相当するMacとは何ですか? –

+0

これは、onKeyDownイベントに渡される "Key"パラメータです。 – haris

+0

はい、実際にはその値には何がありますか。仮想キーコードは、Windows固有の概念です。 Macで同じコンセプトは何ですか? –

答えて

-1

私はあなたがしたいことについても混乱しています。 これは役に立ちます:

laztフォルダー内のlcltypeユニットを見ると、これにはすべての「仮想キー」定数(vk_を検索)が含まれています。

ReturnキーとEnterキーが押されたときに、 "Key"パラメータがVK_RETURNに対応するdouble値を取得しています。また、すべての拡張キーボード文字を使用しています。

これらの値とともにOrd()関数とChr()関数を使用することもできます。

これらのコードを使用する場合は、「uses」セクションにlcltypeを追加することを忘れないでください。

HTH。

+0

ありがとうございますが、これは私が探しているものではありません。 つまり、ユーザが を押すと、どの文字がユーザのキーボード上で生成されるかを知りたいと思います。上の左から3番目のボタン 行、シフトと一緒に。米国のキーボードでは、これは@ 文字を生成します。英語のキーボードでは、別の文字が になります。ウィンドウでこれはMapVirtualKey関数を介して行われます。 しかし、私はMacでそれを行う方法を見つけることができません... – haris