• Stars
    star
    198
  • Rank 196,898 (Top 4 %)
  • Language
    C#
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Windows Raw Input wrapper for Unity game engine

Description

Wrapper over Windows Raw Input API to hook for the native input events. Allows receiving input events even when the Unity application is in background (not in focus).

Will only work on Windows platform.

Only keyboard and mouse input is detected.

Installation

Download and import the package: UnityRawInput.unitypackage.

Usage

Enable Run In Background in project's player settings; if not enabled, expect severe mouse slowdown when the application is not in focus #19 (comment).

Initialize the service to start processing input messages:

RawInput.Start();

Optionally, configure whether input messages should be handled when the application is not in focus and whether handled messages should be intercepted (both disabled by default):

RawInput.WorkInBackground = true;
RawInput.InterceptMessages = false;

Add listeners to handle input events:

RawInput.OnKeyUp += HandleKeyUp;
RawInput.OnKeyDown += HandleKeyDown;

private void HandleKeyUp (RawKey key) { ... }
private void HandleKeyDown (RawKey key) { ... }

Check whether specific key is currently pressed:

if (RawInput.IsKeyDown(key)) { ... }

Stop the service:

RawInput.Stop();

Don't forget to remove listeners when you no longer need them:

private void OnDisable ()
{
    RawInput.OnKeyUp -= HandleKeyUp;
    RawInput.OnKeyDown -= HandleKeyDown;
}

Find usage example in the project: https://github.com/Elringus/UnityRawInput/blob/master/Assets/Runtime/LogRawInput.cs.

List of the raw keys with descriptions: https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes.

More Repositories

1

SpriteGlow

A sprite glow effect for Unity game engine
ShaderLab
2,017
star
2

SpriteDicing

Unity extension for lossless sprite texture compression
C#
1,160
star
3

DotNetJS

Consume C# in JavaScript with comfort: single-file UMD library, auto-generated 2-way bindings and type definitions
JavaScript
592
star
4

grass-bending

A replacement for Unity's terrain grass shader with alpha blended rendering and touch bending effect
C#
515
star
5

UnityGoogleDrive

Google Drive SDK for Unity game engine
C#
362
star
6

UnityConsole

Development console for Unity game engine
C#
79
star
7

BlendModeExample

Example project for "Blend Modes in Unity" article
ShaderLab
69
star
8

UnityCommon

A collection of common frameworks and tools for Unity-based projects
C#
68
star
9

iOSReviewRequest

Unity plugin to invoke a native iOS review request
C#
30
star
10

DarkMatterShader

VFX for Unity
ShaderLab
19
star
11

UnityStreamlabs

Streamlabs client for Unity game engine
C#
14
star
12

UnityDonationAlerts

DonationAlerts SDK for Unity game engine
C#
12
star
13

SagaGUI

GUI plugin for Unreal Engine 4
C++
11
star
14

haji-jam

A small stealth simulation game about social fobia
C#
3
star
15

WasmTest

An example on using .NET 6 Blazor without the ASP.NET web components overhead for JS interop
C#
3
star
16

UnityGoogleDriveAndroid

Used to build AppAuth-Android client library for UnityGoogleDrive project
Java
3
star
17

AddressableUnloadIssue

Repro project for Unity's addressable bug when Resources.UnloadUnusedAssets not unloading released assets
C#
3
star
18

excel-processor

Automate generation of simple pivot Excel spreadsheets
C#
3
star
19

ShadersStudy

Learning to write basic shaders
C
2
star
20

EnginesOfPlay

Interactive player motivation model
CSS
2
star
21

StarcorServer

Starcor project serverside
Python
1
star
22

UECursorBug

Bug with cursor widget being reset on level change
C#
1
star
23

Elringus

1
star
24

BlendModesTutorials

Tutorials project for the `BlendModes` plugin
ShaderLab
1
star
25

BlendModeLayered

GLSL
1
star
26

CDN

1
star
27

NightmareAcademy

HTML
1
star
28

ArabicFixerIssue

ShaderLab
1
star
29

PostProcessingStack

C#
1
star
30

Database

Generic database access layer
1
star
31

UnitySagaGUI

C#
1
star
32

TracesOfLight

A third person adventure game
C++
1
star
33

BiosorbEngine

Biosorb project server-side
1
star
34

StarcorPreAlpha

C#
1
star
35

WireStep

C#
1
star
36

QBubbles

Quantum bubbles game
C#
1
star
37

BreachedUnity

Old Unity-based version
C#
1
star
38

GaBug

A repro project for GA UE4 SDK packaging bug
C++
1
star
39

SagaNetwork

SAGA project backend
C#
1
star
40

ChatServer

Chat for the SAGA project
C#
1
star
41

PingBall

Ludum Dare 36 Warmup project
C#
1
star
42

CWalkerServer

Python
1
star
43

UnrealEngine

4.10.4 branch for Breached
C++
1
star
44

Unite

Logic puzzle game about numbers
C#
1
star
45

Saga

C
1
star
46

PrimeChainStalker

A console program for finding the longest increasing prime numbers chain in a bin file
C#
1
star
47

CWalker

Crazy walker game
C#
1
star
48

UeRtsCamera

A draft for generic RTS camera
C++
1
star
49

PostInitUMGBug

Repro project for the PostInitProperties bug in UE4
C++
1
star
50

DrawMaskIssue

A repro project for drawing sprite mask to render texture issue
C#
1
star