キーボードには,DeleteキーとBackspaceキーが存在します.
キートップの印字と機能の違い
日本語キーボードは以下のような配置になっています.これをWindows 10に接続して使用すると,Backspaceキーを押すとカーソルの前の文字が消され,Deleteキーを押すとカーソルの後の文字が消されます.
MacBook Air の英語キーボードは以下のような配置になっています.Deleteキーを押すとカーソルの前の文字が消され,Fn + Deleteキーを押すとカーソルの後の文字が消されます.Backspaceキーはありません.
つまり,WindowsのBackspaceに相当するキーは,MacOSのDeleteなのです.
MacOSにWindows用のキーボードを接続する場合
ProgresTouch RETRO TINY(英語配列)キーボードは以下のような配置になっています.これをMacOSに接続して使用すると,Backspaceキーを押すとカーソルの前の文字が消され,Deleteキーを押すとカーソルの後の文字が消されます.
役割がひっくり返るわけではなく,Windowsの配列として普通に使用できます.
ブラウザーのKeyboardEventの対応
以下のウェブサイトをChromeやSafariで表示し,KeyboardEvent.code
の出力を確認しました.
KeyboardEvent.code - Web API | MDN
Windowsで動作確認すると,BackspaceキーはBackspace
,DeleteキーはDelete
と認識されます.
MacOSで動作確認すると,DeleteキーはBackspace
,Fn + DeleteキーはDelete
と認識されます.
意味が分かりませんが,MacOSではDeleteキーを押したらBackspace
と認識されます.
仕様を確認しましたが,確かにMacOSのkVK_Delete (0x33)
にはBackspace
と指定されています*1.
よく考えると,カーソルの前の文字を消すキーをBackspace,後の文字を消すキーをDeleteとOS間で統一することで,文字入力する時の混乱を避ける工夫なのだと思いました.