fredemmott
Repos
124
Followers
210
Following
11

An open source Kneeboard

70
8

Toggle mute for audio devices with the Elgato StreamDeck

70
9

Control OBS Studio or XSplit Broadcaster over a network

19
6

A fork of Elgato's C++ StreamDeck SDK, focussing on reusability

22
4

Input device (joysticks, wheels etc) mapping with modern C++ profiles

12
0

Events

Add note about changes to the default setting affecting everything

refs #63

Add note about recentering next to VR position settings

Created at 2 days ago

Update the profiles page if the profile is switched using the switcher menu

refs #63

Created at 2 days ago

Emit tab changed event if tab is changed due to the old one no longer existing

Don't switch away from the profiles page if a tab change is due to a profile change

refs #63

Fix switching profiles from the profiles page

refs #63

Created at 2 days ago
Add the possibility to save different presets/profiles

As a feature request, it should be possible to set up the kneeboard in different presets and save these. Best to start with a dedicated link. Goal should be to set up OpenKneeboard for different sim's and in the sim for different planes and save position, content, behavior etc. in an own profile which could be open via a link on the desktop or such like.

Created at 2 days ago
Add the possibility to save different presets/profiles

This should be in v1.3, but must be enabled in 'advanced settings'

image

Created at 2 days ago

Clear back state when changing profile

Doesn't really make sense, and we need to clear any cached settings pages

refs #63 - Add the possibility to save different presets/profiles

Created at 2 days ago

Only save JSON keys that differ from parent profiles

This means that e.g. if I change the VR position in my Ka50 profile, the profile doesn't also contain my SteamVR enabled/disabled preference

refs #82 - Add support for duplicating pages/forms/templates

Put profile name in title bar

refs #63 - Add the possibility to save different presets/profiles

Implement profile deletion

refs #63 - Add the possibility to save different presets/profiles

Created at 2 days ago

Update tip for profile switcher

Make 'add profile' button work

refs #63 - Add the possibility to save different presets/profiles

Created at 2 days ago

Add button to top nav instead of going via profile page

refs #63 - Add the possibility to save different presets/profiles

Add click handling for profile switcher

refs #63 - Add the possibility to save different presets/profiles

Created at 2 days ago
Add the possibility to save different presets/profiles

Going with this for now:

image

Created at 2 days ago
Add the possibility to save different presets/profiles

My ideal would be to have a switcher button in the title bar like the 'Hello' button here, however Microsoft's WinUI3 framework currently does not support clickable content in the title bar:

image

The Windows App SDK could be used directly, but that only supports this on Windows 11

Created at 2 days ago
Add support for navigation/selection without using a tablet

I'm not going to special case any of the current actions, but there should be a way to use all of the toolbars and item selections without a tablet - I'm thinking of something similar to Apple Carplay/Android Auto when not using a touchscreen.

That in turn is blocked by #116

long press

I'm very unlikely to add support for this; it seems best left for tools like Joystick Gremlin, or hardware vendor's remapping software software

pen button

These only work reliably when the pen tip is within a millimeter or two of the drawing surface, which - especially in VR where you don't have visual depth perception for that distance - means they're only really usable for actions that modify what the pen stroke does, like erase.

Created at 2 days ago

Add skeleton (not working) profile switching UI

refs #63 - Add the possibility to save different presets/profiles

Created at 2 days ago

Put 'dev' or 'gha' in injected DLL names

Add (untested) profile code to KneeboardState

refs #63 - Add the possibility to save different presets/profiles

Created at 2 days ago

Always pass window messages along the windowproc chain

Created at 3 days ago

Add caching and reduce debug spam for tablet proxy main window identification

Update to QPDF 11.1.1

performance improvements :)

Created at 3 days ago

Port Settings itself over to Sparse Json

refs #63 - Add the possibility to save different presets/profiles

Rename Doodle.json to Doodles.json

Created at 3 days ago

Move tablet settings to SparseJson

refs #63 - Add the possibility to save different presets/profiles

Created at 3 days ago

Use SparseJson for DirectInput settings

refs #63 - Add the possibility to save different presets/profiles

Add comment explaining the intent of json.h

Created at 3 days ago

autoupdate -> v1.2.3

Created at 3 days ago
fredemmott create tag v1.2.3
Created at 3 days ago

target v1.2.3

Don't crash if DirectInput Poll() succeeds but GetDeviceState() fails

e.g. when disconnecting a vjoy feeder

Created at 3 days ago

clang-format everything with clang-format 14

Increase limit on number of tabs to 2^32

Bump page count max from 216 to 232

Created at 3 days ago
Support for OpenTablet Driver

Sorry, I'm closing this as it's not something I'll be working on. That said:

  1. if OpenTabletDriver is extended to support an alternative interface and background mode or a plugin doing that is written and maintained by someone else, I'd be open to adding support in OpenKneeboard
  2. I'd also be open to a pull request adding support for windows ink similarly to wintab support, by modifying the game process

Requirements would be:

  • good performance, both in terms of resource usage and 'feel' when drawing
  • confidence in the security aspects of the IPC, e.g. doesn't seem likely to give others on the network the ability to snoop on or control mouse/tablet events
  • no dependency on C# or the .net framework in OpenKneeboard itself, or in DLLs that are injected into the game process (e.g. that nuget package can't be used)

I wouldn't take a PR adding direct support for OpenTabletDriver in a similar way to wintab by modifying the game process: this would be largely equivalent to (1) but more complicated and brittle

Created at 3 days ago
Support for OpenTablet Driver

I have Huion H640P, and G2 VR on OpenXR, playing DCS. Huion driver seems to often drop tablet and does not recognize it, It takes more time to get it working than to play... Reason for drops being unclear. But this lead me to seach for alternative and found OpenTabletDriver project which supports many tablets.

https://github.com/OpenTabletDriver/OpenTabletDriver

Unfortunately that Driver does not support WinTab interface, and by searching their discussions they are not planning to add support for that. It seems that Wintab is quite problematic interface.

OpenTabletDriver should support Windows Ink interface (at least with separate plugin + driver). Have not tested yet. And they have their own driver, but I'm not sure how stable interface that has.

Nuget package: https://www.nuget.org/packages/OpenTabletDriver

Would it be possible to support OpenTabletDriver or Ink with this great kneeboard, which already made me purchase the tab!

Created at 3 days ago

Remove unneeded pragma pack

Standardize on JSON representation of field names

Tries all the previous forms for read, but standardize for write

Refs #63 - Add the possibility to save different presets/profiles

Migrate VRConfig to SparseJson, remove flags

  • don't need to save that tiny bit of memory
  • easier to deal with
  • lets me use the new sparse json macros for profile inheritance

refs #63 - Add the possibility to save different presets/profiles

Created at 4 days ago

Rework json settings; start moving to 'sparse' json

  • multiple config files, one per area
  • don't write config - either a file or an element - if it matches the default

Still a work in progress: only fully converted doodle and non-vr settings for now

refs #63

Also change AppSettings and FlatConfig to sparseJson

Created at 5 days ago

Don't crash if DirectInput Poll() succeeds but GetDeviceState() fails

e.g. when disconnecting a vjoy feeder

Created at 1 week ago
Add ability to reset tabs to original state (especially radio log)

Added this for the next version:

image

Leaving open for general case, which is blocked on #116

Created at 1 week ago