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 | Memetakan 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 | Memetakan 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 olehGetKeyboardStatedan fungsiGetKeyState. 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 fungsiToAsciiEx. |
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.
Fungsi | 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. |
Pemberitahuan
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 fungsiTranslateMessage. 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 fungsiRegisterHotKey. 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 fungsiTranslateMessage.
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 fungsiTranslateMessage. 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 |
---|---|
KodeVirtual-Key | Nama konstanta simbolis, nilai heksadesimal, dan mouse atau keyboard yang setara untuk kode kunci virtual yang digunakan oleh sistem. Kode tercantum dalam urutan numerik. |
Lihat juga
- Tentang Input Keyboard