みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

DeleteキーとBackspaceキー

キーボードには,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間で統一することで,文字入力する時の混乱を避ける工夫なのだと思いました.