[All]
Mac OS Xアプリで ー(半角の¥,\,|), ろ(半角の_) のキーを押下しても正しく入力されない
概要: DelphiまたはC++Builderで作成したMac OS XアプリでTEditやTMemoに日本語キーボードから文字を入力する際、ー(半角の¥,\,|), ろ(半角の_)のキーを押下しても正しく入力されず、無効な文字が表示されることがあります。
対象製品 : Delphi, C++Builder
対象バージョン: XE6
DelphiまたはC++Builderで作成したMac OS XアプリでTEditやTMemoに日本語キーボードから文字を入力する際、ー(半角の¥,\,|), ろ(半角の_)のキーを押下しても正しく入力されず、無効な文字が表示されることがあります。
問題を解消するには、メインフォームのOnCreateイベントなどを使用して、特定のキーマッピングを追加するコードを実行してください。
procedure TForm1.FormCreate(Sender: TObject);
var
PlatformKey, VirtualKey: Word;
KeyKind: TKeyKind;
begin
{$IF defined(MACOS) and NOT defined(IOS)}
PlatformKey := 93;
VirtualKey := vkBackslash;
KeyKind := TKeyKind.Usual;
RegisterKeyMapping(PlatformKey, VirtualKey, KeyKind);
PlatformKey := 94;
VirtualKey := vkMinus;
KeyKind := TKeyKind.Usual;
RegisterKeyMapping(PlatformKey, VirtualKey, KeyKind);
{$ENDIF}
end;
void __fastcall TForm1::FormCreate(TObject *Sender)
{
#if defined(__MACH__) && defined(__APPLE__) && !defined(__arm__)
Word PlatformKey, VirtualKey;
TKeyKind KeyKind;
PlatformKey = 93;
VirtualKey = vkBackslash;
KeyKind = TKeyKind::Usual;
RegisterKeyMapping(PlatformKey, VirtualKey, KeyKind);
PlatformKey = 94;
VirtualKey = vkMinus;
KeyKind = TKeyKind::Usual;
RegisterKeyMapping(PlatformKey, VirtualKey, KeyKind);
#endif
}