Kode tombol Meta (Cmd / Windows) di JavaScript

Untuk Meta (Cmd / Windows key), event.key adalah Meta, event.code adalah MetaLeft / MetaRight, dan keyCode yang sudah usang adalah 91. Tekan tombol apa pun di Key Code Finder untuk melihat nilainya secara langsung.

Diperbarui

PropertiNilai
event.keyMeta
event.codeMetaLeft / MetaRight
event.keyCode / which (usang)91

Cara mendeteksi Meta (Cmd / Windows key)

document.addEventListener('keydown', (event) => {
  if (event.key === 'Meta') {
    // Meta (Cmd / Windows key) was pressed
  }
});

Gunakan event.key untuk merespons arti tombol (mengikuti tata letak keyboard) dan event.code untuk posisi fisiknya, misalnya WASD di game. keyCode dan which sudah usang: masih berfungsi, tetapi nilainya berbeda antara browser dan tata letak.

Bagaimana browser menangani Meta (Cmd / Windows key)

Meta adalah Cmd di Mac dan tombol Windows di PC. Periksa event.metaKey. Sistem operasi sering mempertahankan pintasan tombol Windows untuk dirinya sendiri. Firefox secara historis melaporkan keyCode 224 untuk Cmd.

Di React

<input onKeyDown={(e) => { if (e.key === 'Meta') { /* … */ } }} />

Pertanyaan yang sering diajukan

Apa keyCode untuk Meta (Cmd / Windows key)?
91. Namun, nilai ini sudah usang: gunakan event.key (“Meta”) atau event.code (MetaLeft) di kode baru.
Apa perbedaan event.key dan event.code?
event.key adalah karakter atau aksi yang dihasilkan tombol dengan tata letak saat ini; event.code adalah posisi fisik tombol, sama di setiap tata letak.
Sebaiknya pakai keydown atau keypress?
keydown. Event keypress sudah usang dan tidak terpicu untuk tombol yang tidak menghasilkan karakter, seperti Escape atau tombol panah.