JNativeHook adalah perpustakaan yang menyediakan pendengar keyboard dan mouse global untuk Java. Ini akan memungkinkan Anda mendengarkan pintasan global atau gerakan mouse yang tidak mungkin dilakukan menggunakan Java murni. Untuk menyelesaikan tugas ini, JNativeHook memanfaatkan kode asli yang bergantung pada platform melalui antarmuka asli Java untuk membuat hook tingkat rendah di seluruh sistem dan mengirimkan peristiwa tersebut ke aplikasi Anda.
Acara berikut tersedia melalui pendengarnya masing-masing.
Selain pendengar acara global, perpustakaan ini memiliki kemampuan untuk memposting acara asli kembali ke sistem operasi asli.
JNativeHook tercakup dalam GNU Lesser General Public License yang merupakan perpanjangan dari GNU General Public License yang memberi Anda hak distribusi tambahan. Sejauh yang saya pahami, Anda dapat menggunakan perpustakaan ini dalam proyek berpemilik (sumber tertutup) selama perpustakaan tersebut tetap merupakan perpustakaan eksternal dengan antarmuka biner yang sama. Anda dapat memodifikasi kode sumber perpustakaan ini untuk memenuhi kebutuhan kepemilikan apa pun, selama modifikasi tersebut tersedia berdasarkan syarat dan ketentuan LGPL. Silakan berkonsultasi dengan pengacara berlisensi jika Anda memiliki pertanyaan atau masalah kompatibilitas lisensi tambahan.
Distribusi biner untuk JNativeHook dapat ditemukan di bagian rilis halaman proyek. Pengguna Maven dapat menggunakan <groupId>com.github.kwhat</groupId>
dan <artifactId>jnativehook</artifactId>
untuk menyertakan perpustakaan ini secara otomatis. Build nightly dapat ditemukan di repositori snapshot maven.
Jika Anda merasa perpustakaan ini bermanfaat, mohon pertimbangkan untuk memberikan donasi.
Aplikasi contoh grafis ada untuk memberikan demonstrasi output mentah secara real-time untuk semua peristiwa asli yang tersedia. Untuk menjalankan aplikasi cukup jalankan file jar yang disediakan. Kode sumber tersedia di src/main/java/com/github/kwhat/jnativehook/example/NativeHookDemo.java.
Kode sumber dan dokumentasi terkini tersedia di: https://github.com/kwhat/jnativehook/