All Projects → Col-E → Simplified-JNA

Col-E / Simplified-JNA

Licence: MIT license
Multi-threaded JNA hooks and simplified library access to window/key/mouse functions.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Simplified-JNA

Distormx
The ultimate hooking library
Stars: ✭ 146 (+386.67%)
Mutual labels:  hooks, hooking
Pcsgolh
PCSGOLH - Pointless Counter-Strike: Global Offensive Lua Hooks. A open-source Lua API for CS:GO hacking written in modern C++
Stars: ✭ 56 (+86.67%)
Mutual labels:  hooks, hooking
Open.WinKeyboardHook
A simple and easy-to-use .NET managed wrapper for Low Level Keyboard hooking.
Stars: ✭ 20 (-33.33%)
Mutual labels:  keyboard-events, hooking
Urmem
[x86] Simple C++11 header-only cross-platform memhack library (hooks, patches, pointers, sig scan)
Stars: ✭ 76 (+153.33%)
Mutual labels:  hooks, hooking
RemoteAssistance-JAVA
RemoteControl like TeamViewer(JAVA)
Stars: ✭ 28 (-6.67%)
Mutual labels:  jna, hooking
resynced
An experimental hook that lets you have multiple components using multiple synced states using no context provider
Stars: ✭ 19 (-36.67%)
Mutual labels:  hooks
react-use-hoverintent
React hook for hoverIntent
Stars: ✭ 16 (-46.67%)
Mutual labels:  hooks
react-web-editor
The react-web-editor is a WYSIWYG editor library. you can resize and drag your component. It also has simple rich text editor
Stars: ✭ 191 (+536.67%)
Mutual labels:  hooks
taroCloud
记日常、GitHub trending资讯小程序 taro-hooks + rematch+云开发
Stars: ✭ 25 (-16.67%)
Mutual labels:  hooks
mey
A react package that exports hooks for handling the request lifecycle.
Stars: ✭ 18 (-40%)
Mutual labels:  hooks
workerpoolxt
Concurrency limiting goroutine pool without upper limit on queue length. Extends github.com/gammazero/workerpool
Stars: ✭ 15 (-50%)
Mutual labels:  multithreading
rustext
Fix Russian text plugin for SA-MP: GameText's, TextDraw's and Menu's
Stars: ✭ 15 (-50%)
Mutual labels:  hooks
hooksy
Simple app state management based on react hooks
Stars: ✭ 58 (+93.33%)
Mutual labels:  hooks
arc-progress
🐳 Arc circular animation progress bar drawn by canvas, you can used in the react component, or no dependence.
Stars: ✭ 42 (+40%)
Mutual labels:  hooks
TaskManager
A C++14 Task Manager / Scheduler
Stars: ✭ 81 (+170%)
Mutual labels:  multithreading
singlefile
featured cs:go internal hack, one file and less than 1000 lines.
Stars: ✭ 47 (+56.67%)
Mutual labels:  hooking
react-cool-form
😎 📋 React hooks for forms state and validation, less code more performant.
Stars: ✭ 246 (+720%)
Mutual labels:  hooks
wasm-bindgen-rayon
An adapter for enabling Rayon-based concurrency on the Web with WebAssembly.
Stars: ✭ 257 (+756.67%)
Mutual labels:  multithreading
use-app-state
🌏 useAppState() hook. that global version of setState() built on Context.
Stars: ✭ 65 (+116.67%)
Mutual labels:  hooks
Javascript-Interview-Preparation
A curated collection of javascript interview questions & solutions.
Stars: ✭ 163 (+443.33%)
Mutual labels:  hooks

About

Simplified JNA is a library that allows for the quick creation of mouse and keyboard hooks in a multithreaded environment. Additionally it provides easy to use methods for sending inputs to window, mouse, and keyboard objects.

Usage

You can import this with maven via JitPack:

Add the repo to your pom:

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

And add the dependency:

	<dependency>
	    <groupId>com.github.Col-E</groupId>
	    <artifactId>Simplified-JNA</artifactId>
	    <version>1.0</version>
	</dependency>

Examples

In these samples, returing false allows the event to be parsed by the system. Chaning the return value to true will cancel the event.

Keyboard Hook

KeyEventReceiver keyHook = new KeyEventReceiver() {
    @Override
    public boolean onKeyUpdate(SystemState sysState, PressState pressState, int time, int vkCode) {
        System.out.println("Is pressed:" + (pressState == PressState.DOWN));
        System.out.println("Alt down:" + (sysState == SystemState.SYSTEM));
        System.out.println("Timestamp:" + time);
        System.out.println("KeyCode:" + vkCode);
        return false;
    }
};
KeyHook.hook(keyHook);

Mouse Hook

MouseEventReceiver mer = new MouseEventReceiver() {
    @Override
    public boolean  boolean onMousePress(MouseButtonType type, HWND hwnd, POINT info) {
        boolean isLeft = type == MouseButtonType.LEFT_DOWN;
        if (isLeft) {
            System.out.println("Left mouse button has been pressed!")
        }
        return false;
    }
    @Override public boolean onMouseRelease(MouseButtonType type, HWND hwnd, POINT info) { return false; }
    @Override public boolean onMouseScroll(boolean down, HWND hwnd, POINT info) { return false;  }
    @Override public boolean boolean onMouseMove(HWND hwnd, POINT info) { return false; }
};
MouseHook.hook(mer);
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].