Git Product home page Git Product logo

keyboard-inspector's People

Contributors

mat1jaczyyy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

keyboard-inspector's Issues

Disable Keyboard recording

option to disable keyboard recording altogether (in case someone is playing controller emu, to not get spammed with keyboard stuff on the recording)

Running on Ubuntu

Do you mind explaining how to use source code in ubuntu? Not quite good. Usual ./configure/make/autoconf didn't seem to work as the structure doesn't have it. Thanks.

Comparison mode

Select multiple recordings and analyze them simultaneously in order to look for differences between them.

The idea of this is definitely useful, but whether this format is a good way to go about it is definitely debatable.

#14 is probably a prerequisite to this

Delete events from the recording

Sometimes a recording is good but happens to contain some sensitive information (such as an inputted password). It would be nice if we could select events like these in the timeline and just completely delete them from the file.

utterly confused?

i have an rk61, i decided to try this software out on a whim, when i did a test the bottom left graph peaked at 50 something hz while the middle is consistently 1000hz and the right one is arbitrary, sometimes a 1000 sometimes 1300 or 1900 or whatever it's not consistent. i did another test only using NUMBERS and the left graph showed 990-999 hz consistently, while the middle and right showed random numbers.

Key rollover test

Most membrane keyboards use a matrix system for key scanning which can have key rollover issues. Maybe there is some way to recreate the matrix based on which inputs we've observed to be simultaneously pressable? Needs more research

Single-fire input events

Currently we only support binary inputs, those that can have an on/pressed and off/released state.

Unary inputs are single-fire, such as mouse wheel up or mouse wheel down inputs. They don't have an actual duration you can hold the key down for, they just fire and that's it.

Would probably look similar to the old NES polls we had in 0.3.0

Public keyboard database

Build a public service database of Keyboard Inspector files for the public to be able to check data from keyboards they're interested in purchasing.

Keyboard Inspector would have a fully anonymized, opt-in submission module to the database. The database would be browsable on a website and/or in Keyboard Inspector natively. Submissions would also have an optional description attached to them describing circumstances or opinions on the recording.

Move to modern .NET 7

Currently we use .NET Framework with Windows Forms which is very ancient, but more importantly locked into Windows.

Moving to cross-platform .NET 7 (likely with Avalonia UI) would be the first step towards Linux and/or macOS support.

Analog input events

Recording analog values changes such as mouse pointer movement or joystick axes would let us have a lot more data points for those, and analyze their sampling rates much better.

Unsure how these would display in the Input Timeline though...

Sidebar/Tabs

Currently, making a new recording overwrites the existing one.

We can keep the existing recordings in memory (in an unsaved to disk state) and make them available via tabs or a sidebar.

A sidebar could also include recently opened files from disk, and potentially serve as the browser for #13 in the future.

USB devices: Get USB speed and endpoint bInterval range

Using the Win32 API it's possible to get the USB speed (LS, FS, HS) and all the endpoint descriptors from a specific USB device starting from its' HID device interface which we already have available in Keyboard Inspector.

While to my knowledge it's not possible to get the exact corresponding endpoint, we can still get all of them and display a range of their bIntervals (USB report rates).

Some useful resources

Live input viewer

A live input viewer (with timeline of events scrolling by) would be useful for rhythm games / live streams.

#12 is a prerequisite for this, as this would be an "alternate" viewing mode during the recording phase

Real-time Analysis

By putting the Raw Input WM_INPUT handling on a separate thread (and a background window), we no longer have to stay quiet on the UI thread and we can analyze the recorded inputs immediately in real-time.

Jstris replay support

I want to implement Jstris replay support similarly to how we have TETR.IO support at the moment, however Jstris does not store how long keys were pressed for since the release event does not matter in the game for most keys.

Jstris replays aren't really files, so the importing methods will be either a Jstris URL or a compressed replay string.

This requires #18 before it can be implemented.

Windows antivirus prevents opening the program

Installed version 0.3.0 and windows defender flagged the .exe as a potential trojan or unwanted software and would not allow me to open the program, even chrome doesn't allow you to install it as it flagged it as a dangerous program.
downloaded it from the latest release on github not some shady site. windows goes as far as to delete the program even though I allowed it to remain on my pc, I saw the comment about guitar support. Is there a chance to crate a separate version that doesn't have that as I personally don't care about guitar support so that windows stops falsely flagging the program.
https://imgur.com/a/Ld6X7Pe

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.