All Projects → kwhat → Jnativehook

kwhat / Jnativehook

Licence: other
Global keyboard and mouse listeners for Java.

Programming Languages

java
68154 projects - #9 most used programming language
c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Jnativehook

Jni.hpp
A modern, type-safe, header-only, C++14 wrapper for JNI
Stars: ✭ 313 (-69.16%)
Mutual labels:  jni
Flapigen Rs
Tool for connecting programs or libraries written in Rust with other languages
Stars: ✭ 473 (-53.4%)
Mutual labels:  jni
Kiss Fft
A compact FFT library in C with an Android JNI wrapper
Stars: ✭ 27 (-97.34%)
Mutual labels:  jni
React Native Mmkv
⚡️ An extremely fast key/value storage library for React Native. ~30x faster than AsyncStorage!
Stars: ✭ 316 (-68.87%)
Mutual labels:  jni
Fmj
FMJ (FFMpeg for Java)。通过Java调用FFMpeg命令的方式来对音视频进行处理(获取信息、截图等等)。
Stars: ✭ 379 (-62.66%)
Mutual labels:  jni
Dart native
Write iOS&Android Code using Dart. This package liberates you from redundant glue code and low performance of Flutter Channel.
Stars: ✭ 564 (-44.43%)
Mutual labels:  jni
Jnioor
基于C++模板函数与Fluent API设计的JNI反射库,极大的简化JNI反射调用,提高JNI开发效率与稳定性
Stars: ✭ 278 (-72.61%)
Mutual labels:  jni
Rucaja
Calling the JVM from Rust via JNI
Stars: ✭ 35 (-96.55%)
Mutual labels:  jni
Jni Rs
Rust bindings to the Java Native Interface — JNI
Stars: ✭ 456 (-55.07%)
Mutual labels:  jni
Fake Jni
An implementation of the JNI and JVMTI with support for direct interaction between natively registered classes and JVM objects.
Stars: ✭ 20 (-98.03%)
Mutual labels:  jni
Aparapi
The New Official Aparapi: a framework for executing native Java and Scala code on the GPU.
Stars: ✭ 352 (-65.32%)
Mutual labels:  jni
Keepalive
Fighting against force-stop kill process on Android with binder ioctl / Android高级保活
Stars: ✭ 376 (-62.96%)
Mutual labels:  jni
Jpype
JPype is cross language bridge to allow python programs full access to java class libraries.
Stars: ✭ 685 (-32.51%)
Mutual labels:  jni
Javacpp
The missing bridge between Java and native C++
Stars: ✭ 3,703 (+264.83%)
Mutual labels:  jni
Javassembly
💾 Calling Assembly from Java: simple example using the JNI and NASM.
Stars: ✭ 28 (-97.24%)
Mutual labels:  jni
Androidp7zip
An Android compress and extract library support popular compression format such as rar, zip, tar, lzma. based on p7zip.
Stars: ✭ 289 (-71.53%)
Mutual labels:  jni
Jnitrace
A Frida based tool that traces usage of the JNI API in Android apps.
Stars: ✭ 534 (-47.39%)
Mutual labels:  jni
Rust Universal Template
Template for creating Rust libraries with bindings to iOS, Android, WebAssembly and more
Stars: ✭ 41 (-95.96%)
Mutual labels:  jni
Anyndk
🔥 Android native library, make your development faster and easier. Android各种native库,让你的开发更快更简单
Stars: ✭ 35 (-96.55%)
Mutual labels:  jni
Jep
Embed Python in Java
Stars: ✭ 759 (-25.22%)
Mutual labels:  jni

JNativeHook: Global keyboard and mouse listeners for Java.

Maven Central Nightly Build

About

JNativeHook is a library to provide global keyboard and mouse listeners for Java. This will allow you to listen for global shortcuts or mouse motion that would otherwise be impossible using pure Java. To accomplish this task, JNativeHook leverages platform-dependent native code through Java's native interface to create low-level system-wide hooks and deliver those events to your application.

The following events are available via their respective listeners.

  • Key Press Events
  • Key Release Events
  • Key Typed Events
  • Mouse Down Events
  • Mouse Up Events
  • Mouse Click Events
  • Mouse Move Events
  • Mouse Drag Events
  • Mouse Wheel Events

In addition to global event listners, this library has the ability to post native events back to the native operating system.

Licensing

JNativeHook is covered under both the GNU General Public and GNU Lesser General Public Licenses as the latter is an extension of the former granting you additional distribution rights. As I understand it, you may use this library in proprietary projects so long as it remains an external library with the same binary interface. You may modify the source code of this library to fulfill a proprietary need, as long as that source code is made public under the aforementioned terms. Please consult with a licenced attorney if you have licence compatibility questions or concerns.

Download

Binary distribution for JNativeHook can be found at the releases section of the project page. Maven users can use the <groupId>com.1stleg</groupId> and <artifactId>jnativehook</artifactId> to include this library automatically. The nightly builds can be found at the maven snapshot repository.

Software and Hardware Requirements

  • Java 1.8 - 11
  • 256 MB of RAM
  • Apple OS X 10.5 - 10.12
    • amd64
    • Enable Access for Assistive Devices
  • Windows 2000 - 10
    • i586, amd64
  • X11 Linux
    • i586, amd64, arm7, aarch64
    • libxkbfile.so.1
    • libxkbcommon-x11.so.0
    • libxkbcommon.so.0
    • libX11-xcb.so.1
    • libX11.so.6
    • libxcb.so.1
    • libXinerama.so.1
    • libXt.so.6
    • libXtst.so.6
    • libc.so.6
    • libxcb-xkb.so.1
    • libdl.so.2
    • libXau.so.6
    • libXdmcp.so.6
    • libXext.so.6
    • libSM.so.6
    • libICE.so.6
    • libbsd.so.0
    • libuuid.so.1
    • librt.so.1
    • libpthread.so.0

Donate

If you have found this library useful, please consider making a donation. Donate

Documentation

Demo Application

The graphical example application exists to provide a real-time demonstration of raw output for all available native events. To run the application simply execute the jar file provided. Source code available at src/main/java/com/github/kwhat/jnativehook/example/NativeHookDemo.java.

Additional Information

Up to date source code and documentation available at: https://github.com/kwhat/jnativehook/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].