Keyboard Input

Bagian ini menjelaskan bagaimana sistem menghasilkan input keyboard dan bagaimana aplikasi menerima dan memproses input tersebut.

Di Bagian Ini

Nama Deskripsi
Tentang Input Keyboard Membahas input keyboard.
Menggunakan Input Keyboard Mencakup tugas yang terkait dengan input keyboard.
Referensi Input Keyboard Berisi referensi API.

Fungsi

Nama Deskripsi
ActivateKeyboardLayout Mengatur pengidentifikasi lokal input (sebelumnya disebut handel tata letak keyboard) untuk utas panggilan atau proses saat ini. Pengidentifikasi lokal input menentukan lokal serta tata letak fisik keyboard.
BlockInput Memblokir peristiwa input keyboard dan mouse agar tidak mencapai aplikasi.
EnableWindow Mengaktifkan atau menonaktifkan input mouse dan keyboard ke jendela atau kontrol yang ditentukan. Ketika input dinonaktifkan, jendela tidak menerima input seperti klik mouse dan penekanan tombol. Ketika input diaktifkan, jendela menerima semua input.
GetActiveWindow Mengambil handel jendela ke jendela aktif yang dilampirkan ke antrean pesan utas panggilan.
GetAsyncKeyState Menentukan apakah kunci naik atau turun pada saat fungsi dipanggil, dan apakah tombol ditekan setelah panggilan sebelumnya ke GetAsyncKeyState.
GetFocus Mengambil handel ke jendela yang memiliki fokus keyboard, jika jendela dilampirkan ke antrean pesan utas panggilan.
GetKeyboardLayout Mengambil pengidentifikasi lokal input aktif (sebelumnya disebut tata letak keyboard) untuk utas yang ditentukan. Jika parameter idThread adalah nol, pengidentifikasi lokal input untuk utas aktif dikembalikan.
GetKeyboardLayoutList Mengambil pengidentifikasi lokal input (sebelumnya disebut handel tata letak keyboard) yang sesuai dengan set lokal input saat ini dalam sistem. Fungsi menyalin pengidentifikasi ke buffer yang ditentukan.
GetKeyboardLayoutName Mengambil nama pengidentifikasi lokal input aktif (sebelumnya disebut tata letak keyboard).
GetKeyboardState Menyalin status 256 kunci virtual ke buffer yang ditentukan.
GetKeyNameText Mengambil string yang mewakili nama kunci.
GetKeyState Mengambil status kunci virtual yang ditentukan. Status menentukan apakah tombol naik, turun, atau beralih (aktif, nonaktif bergantian setiap kali tombol ditekan).
GetLastInputInfo Mengambil waktu peristiwa input terakhir.
IsWindowEnabled Menentukan apakah jendela yang ditentukan diaktifkan untuk input mouse dan keyboard.
LoadKeyboardLayout Memuat pengidentifikasi lokal input baru (sebelumnya disebut tata letak keyboard) ke dalam sistem. Beberapa pengidentifikasi lokal input dapat dimuat pada satu waktu, tetapi hanya satu per proses yang aktif pada satu waktu. Memuat beberapa pengidentifikasi lokal input memungkinkan untuk beralih dengan cepat di antara mereka.
MapVirtualKey Menerjemahkan (memetakan) kode kunci virtual ke dalam kode pemindaian atau nilai karakter, atau menerjemahkan kode pemindaian ke dalam kode kunci virtual.
Untuk menentukan handel ke tata letak keyboard yang akan digunakan untuk menerjemahkan kode yang ditentukan, gunakan fungsi MapVirtualKeyEx.
MapVirtualKeyEx Peta kode kunci virtual ke dalam kode pemindaian atau nilai karakter, atau menerjemahkan kode pemindaian ke dalam kode kunci virtual. Fungsi ini menerjemahkan kode menggunakan bahasa input dan pengidentifikasi lokal input.
OemKeyScan Peta kode OEMASCII 0 hingga 0x0FF ke dalam kode pemindaian OEM dan status pergeseran. Fungsi ini menyediakan informasi yang memungkinkan program mengirim teks OEM ke program lain dengan mensimulasikan input keyboard.
RegisterHotKey Mendefinisikan kunci panas di seluruh sistem.
SendInput Mensintesis penekanan tombol, gerakan mouse, dan klik tombol.
SetActiveWindow Mengaktifkan jendela. Jendela harus dilampirkan ke antrean pesan utas panggilan.
SetFocus Mengatur fokus keyboard ke jendela yang ditentukan. Jendela harus dilampirkan ke antrean pesan utas panggilan.
SetKeyboardState Menyalin array 256-byte status kunci keyboard ke dalam tabel status input keyboard utas panggilan. Ini adalah tabel yang sama yang diakses oleh fungsi GetKeyboardState dan GetKeyState. Perubahan yang dilakukan pada tabel ini tidak memengaruhi input keyboard ke utas lain.
ToAscii Menerjemahkan kode kunci virtual dan status keyboard yang ditentukan ke karakter atau karakter yang sesuai. Fungsi ini menerjemahkan kode menggunakan bahasa input dan tata letak keyboard fisik yang diidentifikasi oleh handel tata letak keyboard.
Untuk menentukan handel ke tata letak keyboard yang akan digunakan untuk menerjemahkan kode yang ditentukan, gunakan fungsi ToAsciiEx.
ToAsciiEx Menerjemahkan kode kunci virtual dan status keyboard yang ditentukan ke karakter atau karakter yang sesuai. Fungsi ini menerjemahkan kode menggunakan bahasa input dan tata letak keyboard fisik yang diidentifikasi oleh pengidentifikasi lokal input.
ToUnicode Menerjemahkan kode kunci virtual dan status keyboard yang ditentukan ke karakter atau karakter Unicode yang sesuai.
Untuk menentukan handel ke tata letak keyboard yang akan digunakan untuk menerjemahkan kode yang ditentukan, gunakan fungsi ToUnicodeEx.
ToUnicodeEx Menerjemahkan kode kunci virtual dan status keyboard yang ditentukan ke karakter atau karakter Unicode yang sesuai.
UnloadKeyboardLayout Membongkar pengidentifikasi lokal input (sebelumnya disebut tata letak keyboard).
UnregisterHotKey Membebaskan hot key yang sebelumnya didaftarkan oleh utas panggilan.
VkKeyScanEx Menerjemahkan karakter ke kode kunci virtual yang sesuai dan status shift. Fungsi ini menerjemahkan karakter menggunakan bahasa input dan tata letak keyboard fisik yang diidentifikasi oleh pengidentifikasi lokal input.

Fungsi-fungsi berikut sudah usang.

Function Deskripsi
GetKBCodePage Mengambil halaman kode saat ini.
keybd_event Mensintesis penekanan tombol. Sistem dapat menggunakan penekanan kunci yang disintesis seperti itu untuk menghasilkan pesan WM_KEYUP atau WM_KEYDOWN. Handler penginterupsi driver keyboard memanggil fungsi keybd_event.
VkKeyScan Menerjemahkan karakter ke kode kunci virtual yang sesuai dan status shift untuk keyboard saat ini.

Pesan

Nama Deskripsi
WM_GETHOTKEY Menentukan hot key yang terkait dengan jendela.
WM_SETHOTKEY Mengaitkan hot key dengan jendela. Ketika pengguna menekan tombol panas, sistem mengaktifkan jendela.

Notifications

Nama Deskripsi
WM_ACTIVATE Dikirim ke jendela yang diaktifkan dan jendela dinonaktifkan. Jika jendela menggunakan antrean input yang sama, pesan dikirim secara sinkron, pertama ke prosedur jendela jendela tingkat atas yang dinonaktifkan, lalu ke prosedur jendela jendela tingkat atas yang diaktifkan. Jika jendela menggunakan antrean input yang berbeda, pesan dikirim secara asinkron, sehingga jendela segera diaktifkan.
WM_APPCOMMAND Memberi tahu jendela bahwa pengguna menghasilkan peristiwa perintah aplikasi, misalnya, dengan mengklik tombol perintah aplikasi menggunakan mouse atau mengetik tombol perintah aplikasi pada keyboard.
WM_CHAR Diposting ke jendela dengan fokus keyboard saat pesan WM_KEYDOWN diterjemahkan oleh fungsi TranslateMessage. Pesan WM_CHAR berisi kode karakter tombol yang ditekan.
WM_DEADCHAR Diposting ke jendela dengan fokus keyboard saat pesan WM_KEYUP diterjemahkan oleh fungsi TranslateMessage. WM_DEADCHAR menentukan kode karakter yang dihasilkan oleh kunci mati. Kunci mati adalah kunci yang menghasilkan karakter, seperti umlaut (titik ganda), yang dikombinasikan dengan karakter lain untuk membentuk karakter komposit. Misalnya, karakter umlaut-O ( ) dihasilkan dengan mengetik kunci mati untuk karakter umlaut, lalu mengetik kunci O.
WM_HOTKEY Diposting ketika pengguna menekan tombol panas yang didaftarkan oleh fungsi RegisterHotKey. Pesan ditempatkan di bagian atas antrean pesan yang terkait dengan utas yang mendaftarkan kunci panas.
WM_KEYDOWN Diposting ke jendela dengan fokus keyboard saat tombol nonsystem ditekan. Tombol nonsystem adalah tombol yang ditekan saat tombol ALT tidak ditekan.
WM_KEYUP Diposting ke jendela dengan fokus keyboard saat tombol nonsystem dilepaskan. Tombol nonsstem adalah tombol yang ditekan saat tombol ALT tidak ditekan, atau tombol keyboard yang ditekan saat jendela memiliki fokus keyboard.
WM_KILLFOCUS Dikirim ke jendela segera sebelum kehilangan fokus keyboard.
WM_SETFOCUS Dikirim ke jendela setelah mendapatkan fokus keyboard.
WM_SYSDEADCHAR Dikirim ke jendela dengan fokus keyboard saat pesan WM_SYSKEYDOWN diterjemahkan oleh fungsi TranslateMessage. WM_SYSDEADCHAR menentukan kode karakter tombol mati sistem yaitu, tombol mati yang ditekan sambil menahan tombol ALT.
WM_SYSKEYDOWN Diposting ke jendela dengan fokus keyboard saat pengguna menekan tombol F10 (yang mengaktifkan bilah menu) atau menahan tombol ALT lalu menekan tombol lain. Ini juga terjadi ketika tidak ada jendela yang saat ini memiliki fokus keyboard; dalam hal ini, pesan WM_SYSKEYDOWN dikirim ke jendela aktif. Jendela yang menerima pesan dapat membedakan antara kedua konteks ini dengan memeriksa kode konteks dalam parameter lParam .
WM_SYSKEYUP Diposting ke jendela dengan fokus keyboard saat pengguna merilis tombol yang ditekan saat tombol ALT ditahan. Ini juga terjadi ketika tidak ada jendela yang saat ini memiliki fokus keyboard; dalam hal ini, pesan WM_SYSKEYUP dikirim ke jendela aktif. Jendela yang menerima pesan dapat membedakan antara kedua konteks ini dengan memeriksa kode konteks dalam parameter lParam .
WM_UNICHAR Diposting ke jendela dengan fokus keyboard saat pesan WM_KEYDOWN diterjemahkan oleh fungsi TranslateMessage. Pesan WM_UNICHAR berisi kode karakter tombol yang ditekan.

Struktur

Nama Deskripsi
HARDWAREINPUT Berisi informasi tentang pesan yang disimulasikan yang dihasilkan oleh perangkat input selain keyboard atau mouse.
INPUT Berisi informasi yang digunakan untuk mensintesis peristiwa input seperti penekanan tombol, gerakan mouse, dan klik mouse.
KEYBDINPUT Berisi informasi tentang peristiwa keyboard yang disimulasikan.
LASTINPUTINFO Berisi waktu input terakhir.
MOUSEINPUT Berisi informasi tentang peristiwa tetikus yang disimulasikan.

Konstanta

Nama Deskripsi
Kode Kunci Virtual Nama konstanta simbolis, nilai heksadesimal, dan mouse atau keyboard yang setara untuk kode kunci virtual yang digunakan oleh sistem. Kode tercantum dalam urutan numerik.

Baca juga