GithubHelp home page GithubHelp logo

nohboard's Introduction

NohBoard

NohBoard is a keyboard visualization program. I know certain applications already exist that do just this, display your keyboard on-screen. And even more probably. However, so far I have found none that were both free and easy to use. That's where this program came in, I made it to be free and easy to use, without any fancy graphics, and easily capturable (possibly with chroma key). Furthermore, it's very customizable.

Rewrite

An initial version was made in C++, this originated from the desire to make something with graphics, and what I knew was OBS, now replaced by OBS Studio. That's why I started in the same spirit, using C++, and rendering with DirectX. However, having spent most of my time on C# during at least the last decade or so, I decided that I would be much more able to create awesome things in this language. That's when I re-started. Rather than using DirectX, I switched to GDI+, as we're Windows only (I'm sorry, but I just really don't use any other OS, and so far it is still the go-to OS for gaming). No really fancy graphics are required, no 3D is required. This also makes it easier to capture, as a simple window capture in OBS will do the trick now, rather than having to fiddle with game capture which might not work due to a game typically being run at the same time as NohBoard.

Contributors

Maintainer / original author

Contributors

  • Marius "Buttercak3" Becker - Various bugfixes
  • Ivan "YaLTeR" Molodetskikh - Added the scroll counter (NohBoard classic)
  • Michal Mitter - Added button outline (NohBoard classic)

Keyboard layouts

  • BaronBargy
  • Burning Fish
  • Cloudwolf
  • Daigtas
  • Floatingthru
  • HAJohnny
  • Helixia
  • joao7yt
  • kernel1337
  • Krazy
  • layarion
  • MCCrafterTV
  • MtB1980
  • TicTacFoe
  • ToxicMirror
  • WayZHC
  • wingsltd
  • zolia
  • SirDifferential
  • flyingmongoose
  • JapanYoshi
  • dchitra

If you want to contribute, either with code, with keyboard definitions or keyboard styles, feel free to fork this repository and provide your changes via a pull request, or other means of submitting your changes back to me.

Changelog

For the changelog, see the Releases page.

Full Documentation

See the Wiki for full documentation.

Donations

Donations are neither required nor requested. They are, however, always appreciated, and due to some demand, there now is the possibility to donate. Note that donations are to be made purely for appreciation of performed work, and not as a means of prioritizing or requesting future work. They will not in any way impact the speed or order in which features are implemented.

License

NohBoard is licensed under the GPL version 2. The license agreement is attached in this repository and can be found here.

nohboard's People

Contributors

butt4cak3 avatar dayzin avatar flyingmongoose avatar joao-mambelli avatar johnbfrm avatar kristopherkram avatar sirdifferential avatar thonoht avatar yalter 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  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

nohboard's Issues

Layout

First of all i love the program. Only thing missing for me is the opertunity to move stuff aroundand make some keys show and other not. There is a small layout with the mouse that i use but im missing 2-3 keys that sre on the right side. Also it would help if i could move the keys to make another shape.

Dont know if its possible but just wanted to give my input and idea<3

Attempting to assign multiple key codes makes none of them react

This. I tried with a few different virtual keys. I made sure all the inputs show if just one of them is assigned, but when multiple codes are assigned to the same virtual key, none of them cause a reaction.

Windows 10 64b, need any more info?

Thanks, brilliant program!

Battlefield 3 (maybe others) mouse sensitivity is extremely high

So with version 0.5b, when I load into Battlefield 3, my mouse sensitivity is EXTREMELY high, and I can't control it. Lowered the in-game mouse sensitivity all the way down, and it's still uncontrollable. Exited out of NohBoard and everything is back to normal.

Probably something to do with capturing mouse events now too? :)

Closing right click menu unexpectedly moves keys

When you close the right click menu by left clicking on another key, this other key will be selected and moved by the distance you moved your mouse since opening the right click menu. If another key was selected, it will be moved instead.

Closing the right click menu should not trigger selection of another key, neither should it move any key.

See an example in this video: https://www.youtube.com/watch?v=ePsDqBSUUJc

immediate crash when trying to edit style (color) of mouse speed indicator

exactly what title says.

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at ThoNohT.NohBoard.Forms.Style.MouseSpeedStyleForm..ctor(MouseSpeedIndicatorStyle initialStyle, MouseSpeedIndicatorStyle defaultStyle)
   at ThoNohT.NohBoard.Forms.MainForm.mnuEditElementStyle_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2115.0 built by: NET47REL1LAST
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
NohBoard
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/sleepy/Desktop/unwnbinary-temp!/nohboard/NohBoard.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2110.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2110.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2117.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2102.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
NohBoard.Hooking
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/sleepy/Desktop/unwnbinary-temp!/nohboard/NohBoard.Hooking.DLL
----------------------------------------
System.Runtime.Serialization
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2112.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
System.Net.Http
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll
----------------------------------------
SMDiagnostics
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2112.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/SMDiagnostics/v4.0_4.0.0.0__b77a5c561934e089/SMDiagnostics.dll
----------------------------------------
System.ServiceModel.Internals
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2112.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.ServiceModel.Internals/v4.0_4.0.0.0__31bf3856ad364e35/System.ServiceModel.Internals.dll
----------------------------------------
clipper_library
    Assembly Version: 6.2.1.0
    Win32 Version: 6.2.1.0
    CodeBase: file:///C:/Users/sleepy/Desktop/unwnbinary-temp!/nohboard/clipper_library.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Undoing does not undo style

The style is currently treated differently from the current definition. It needs to be updated like the definition, because undoing the definition means that certain element styles may be redundant, or missing.

FPS Issue in GoldSRC games (using rewrite v0.3.1)

Using the latest release of NohBoard, I've been noticing an FPS issue in game. The framerate of the game will occasionally drop a significant amount of frames, making it nonviable to use in real-time speedruns (note that in an identical scenario using the old v0.17b, this issue does not occur).

I am capturing the window with OBS Studio 18.0.1 64-bit, and I utilize all features of the default csgo_shift+caps+mm layout (modified ofc, see attached), using the same settings I would have used for v0.14b

Attached: My modified layout incase you wish to test with it.

Keys pressed multiple time

I believe this issue has been reported but im still experiencing this issue. While playing sc2 capturing with OBS studio. Using the latest version of rewrite 0.3.1 while playing, I experience keyboard freezing up and while its freeze it will keep that key pressed where it was frozen at.

Position indicator (willing to help)

I'd like to be able to generate a rectangular area and have another program tell NohBoard where to draw a dot within it. I think this could be accomplished in a manner similar to the mouse movement indicator's behavior. I'm willing to write this whole feature (even if just for my own personal build), but answering either of the following (or pointing me in the right direction) would speed up the process a lot:

  1. Can I make the companion program generate Windows events to pass data to NohBoard (since I think that's how it gets keypresses)? If so, any advice on doing so in a way that NohBoard will be able to receive and handle them nicely?
  2. Besides Visual Studio, is there anything I need (/to know) to build this into a working exe file? I've worked with C# a fair bit but always in conjunction with Unity so I have never had to worry about actually deploying code to an exe. Even just trying to build the solution I run into a couple of errors ("Version" not existing within the namespace of MainForm.cs and the gotri.exe calls exiting with code 2), and you do reference things like "Designer" all over the place. I don't even know what that is so that makes me think I probably don't have it available to work with.

Really, even if you can just help me with 2 so I can get to the point of being able to tinker with the software I can probably figure things out from there.

make your own

i got the feeling that i cloud make my own layout since there is a start edit buton but its always grayd out

Load images relative to category rather than keyboard

A single creating multiple layouts will typically reuse several images many times. This means with the current approach of loading images relative to the keyboard folder, all these images have to be duplicated for every keyboard that is made.

I do not feel comfortable letting the users enter paths in the image field, but a compromise is possible. Make the image search relative to the category, in the images/ folder. Rather than making subfolders here, the user could then use prefixes with the name of the keyboard to indicate keyboard-specific images.

Note that this requires a shift in category perspective, from being more generic to seeing a category as a set of keyboards with similar images, probably categorized by creator.

Key 1028(Mouse Movement) moves wiredly when in a game.

The key 1028(Mouse Movement) moves weirdly when in a game. I've test this in Minecraft and Team Fortress 2. The indicator dot moves wildly left and right when you move the mouse left. Works fine when not in a game though.

Doesn't work with OBS-Studio Game Capture source

Despite the documentation here stating that it should, I can't seem to get NohBoard to show up when using the Game Capture source. Using the Window Capture source isn't always an option for me because I only have one monitor, which means the game sits on top of NohBoard and OBS-Studio picks that up instead.

Do you have any hints on how to get it working?

Potential crash after closing

Sometimes a long time after closing the program, it will crash. This might be due to one of the threads not terminating properly.

Suggestion: Add an option for PNG overlays

It might be neat, if there was an option that enables the use of PNG overlays.

The syntax of the key layout files would then be:
key keyCode x y width height NormalText ShiftText ChangeOnCaps SmallFont Overlay[0/1] OverlayWhenUnpressed[0/1] OverlayPath [relative/"absolute" path]

NohBoard window can't be moved normally

It looks like you have to right-click and select "move" to be able to relocate it on the screen. Is this intentional? This is something you have to do each time if you want the window to be on the side of the screen but not minimized for purposes of making sure it's updating for OBS recordings.

Handling custom fonts

I do not want to ship custom fonts with NohBoards, but as users wish to create styles that use... custom fonts, it might be nice to make a feature where a style can specify which font to download, and having NohBoard link it for the user to install. If the font is not installed, some default font should be specified to fall back onto.

NohBoard window offscreen and invisible if it was ever previously closed while minimized.

(This was on Windows 8, on a two monitor setup where each monitor is running from a different graphics device. (One from the Nvidia card for gaming, one from the motherboard video for everything else.))

My NohBoard (NohBoard-ReWrite-v1.0.1) was invisible when I would run NohBoard.exe. The window never appeared anywhere and I couldn't see it. But, the taskbar still showed a miniaturized view of the NohBoard window running, but I could never make the window appear on screen and therefore could not click on it to change any NohBoard settings.

I couldn't figure out why for a long time but eventually I narrowed it down to these steps that will reliably re-create the problem for me every time:

  • 1 : Run NohBoard. Window appears. (I don't know if this is relevant, but I always run NohBoard on the secondary stream monitoring monitor (situated to the left of the main gaming monitor).)
  • 2 : Minimize NohBoard window so it's still running but the window doesn't show.
  • 3 : Quit NohBoard.exe from the icon taskbar while it is still minimized.
  • 4 : From now on whenever I launch NohBoard.exe, the window refuses to appear. Note I don't merely mean that it's minimized. I mean that when I try to de-minimize it and make it appear on screen again, it refuses to do so. It is now impossible to make the window appear. It will never appear again until I manually fix it with step 5 below.
  • 5: I finally found out that this is happening because the values in NohBoard.json for "X" and "Y" are both being set to the bogus value -32000 by NohBoard whenever I quit NohBoard while it is minimized. These bogus values are making the window get drawn off-screen out of bounds. Whatever they previously were, NohBoard clobbers X and Y's values with -32000. I can get the window to start showing up again by closing NohBoard and manually editing the json file, setting X and Y both to zero. Then when I re-run NohBoard the window will appear and behave normally. However if I ever forget again and close NohBoard while it is minimized, the bug happens again and the values are back to -32000.

[WINE] Crash on opening Edit Keyboard or Element Style

As the title says. Using Wine 1.8.4 (32bit prefix) on Arch Linux x86_64.
Here's what Wine throws into a terminal when crashed:

System.ArgumentException: The requested FontFamily could not be found [GDI+ status: FontFamilyNotFound]
  at System.Drawing.GDIPlus.CheckStatus (Status status) <0x1d16108 + 0x007ef> in <filename unknown>:0 
  at System.Drawing.FontFamily..ctor (System.String name, System.Drawing.Text.FontCollection fontCollection) <0x1d2c4c8 + 0x00067> in <filename unknown>:0 
  at System.Drawing.FontFamily..ctor (System.String name) <0x1d2c498 + 0x0001f> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Drawing.FontFamily:.ctor (string)
  at ThoNohT.NohBoard.Extra.SerializableFont.op_Implicit (ThoNohT.NohBoard.Extra.SerializableFont src) <0x71bf780 + 0x00033> in <filename unknown>:0 
  at ThoNohT.NohBoard.Controls.KeySubStylePanel.set_SubStyle (ThoNohT.NohBoard.Keyboard.Styles.KeySubStyle value) <0x728d9a8 + 0x000f3> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) ThoNohT.NohBoard.Controls.KeySubStylePanel:set_SubStyle (ThoNohT.NohBoard.Keyboard.Styles.KeySubStyle)
  at ThoNohT.NohBoard.Forms.KeyStyleForm.InitializeComponent () <0x727e288 + 0x009c7> in <filename unknown>:0 
  at ThoNohT.NohBoard.Forms.KeyStyleForm..ctor (ThoNohT.NohBoard.Keyboard.Styles.KeyStyle initialStyle, ThoNohT.NohBoard.Keyboard.Styles.KeyStyle defaultStyle) <0x727df08 + 0x001bf> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) ThoNohT.NohBoard.Forms.KeyStyleForm:.ctor (ThoNohT.NohBoard.Keyboard.Styles.KeyStyle,ThoNohT.NohBoard.Keyboard.Styles.KeyStyle)
  at ThoNohT.NohBoard.Forms.MainForm.mnuEditElementStyle_Click (System.Object sender, System.EventArgs e) <0x727db28 + 0x0011b> in <filename unknown>:0 
  at System.Windows.Forms.ToolStripItem.OnClick (System.EventArgs e) <0x7240590 + 0x00056> in <filename unknown>:0 
  at System.Windows.Forms.ToolStripMenuItem.OnClick (System.EventArgs e) <0x723ff90 + 0x00287> in <filename unknown>:0 
  at System.Windows.Forms.ToolStripMenuItem.HandleClick (Int32 mouse_clicks, System.EventArgs e) <0x723ff48 + 0x0001b> in <filename unknown>:0 
  at System.Windows.Forms.ToolStripItem.FireEvent (System.EventArgs e, ToolStripItemEventType met) <0x722d868 + 0x000b5> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.ToolStripItem:FireEvent (System.EventArgs,System.Windows.Forms.ToolStripItemEventType)
  at System.Windows.Forms.ToolStrip.OnMouseUp (System.Windows.Forms.MouseEventArgs mea) <0x723fce0 + 0x00167> in <filename unknown>:0 
  at System.Windows.Forms.ToolStripDropDown.OnMouseUp (System.Windows.Forms.MouseEventArgs mea) <0x723fcb8 + 0x00017> in <filename unknown>:0 
  at System.Windows.Forms.Control.WmLButtonUp (System.Windows.Forms.Message& m) <0x723fb48 + 0x00124> in <filename unknown>:0 
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) <0x1d1e950 + 0x001c3> in <filename unknown>:0 
  at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) <0x1d82800 + 0x00017> in <filename unknown>:0 
  at System.Windows.Forms.ToolStrip.WndProc (System.Windows.Forms.Message& m) <0x72261d8 + 0x00017> in <filename unknown>:0 
  at System.Windows.Forms.ToolStripDropDown.WndProc (System.Windows.Forms.Message& m) <0x7226188 + 0x0003f> in <filename unknown>:0 
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) <0x1d1e930 + 0x0001d> in <filename unknown>:0 
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) <0x1d1e900 + 0x0002b> in <filename unknown>:0 
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) <0x1d1d000 + 0x0037f> in <filename unknown>:0 

However I couldn't find any info what font it requires.

New key doesn't retain changes

EDIT: Okay, cracked it. This happens whenever you click on any key on your virtual keyboard to get it focused, then try to edit its properties. When you're done, it temporarily stores the changes, but reverts back to the old values the moment you click anywhere in the window, and you'll see that key was still selected. Relatedly, you can even drag a key around after selecting it by clicking anywhere on the window. Feel free to ignore the rest of this post if that's enough to help you fix it.


I tried making various changes to a new manually added key. All the changes seemed to be reverted the first time I clicked on the canvas. In fact it seems to be reacting to mouse1 even though it doesn't have any keys assigned to it ostensibly. (This happens by default so I'm guessing it's a feature)

Can't reproduce it but I captured it on video at least in case that's any use. Ignore the window on the left, that's where I wanted to copy values from.

https://drive.google.com/file/d/1A0VZa1kOfPnKfBHDF4vx5LHy-0SJyxAt/view?usp=sharing

Will post again if I figure out how I did it. Note that towards the end of the video, I accidentally noticed I couldn't move a given boundary down, just up. It seems to be unrelated, so I'll just open a different Issue for that...

EDIT: Well, the next key I added behaved fine, stored all the changes as expected. The next one after that had this bug again... I don't know what I did differently but it looks to be very random.

Wait, it doesn't just react to clicking mouse1, it literally stays selected the whole time, no matter which part of the window I'm clicking. I can even drag it around by clicking anywhere.

Looks like the problem arises if you first drag the key around.

Copying keys and keyboard properties

saikenpwn posted on Pull requests but idk if there is the right place...

I support the ctrl+c/ctrl+v and resizing window to get more space to add keys ideas.

P.S.: I think he didn't try the arrow keys to move around the keys, tho hahaha

Translation Support

Can you add some Chinese translation it the NohBoard? It would be better if it can be translated into any language we want .

Or you can make it support for us to translate the string it the file .

What is the file "gotri.exe" ?

Hello,

I would like to know what is the file "gotri.exe" that is called in the prebuild event.
Where does this utility comes from ? What does it do ?

Regards

Separate colors per key

Low priority.

Probably color definitions per key in the kb file.

But separate pressed/not pressed/font pressed/not pressed?

Show APM

Not sure if and how, but it's an interesting idea.

Cycling through elements under cursor when making selections

When two keys overlap each other, even though the one I wanted to edit was highlighted during mouse-hovering, right-clicking gives me the other key's options (the first one I had placed) until I click somewhere where they don't overlap.

Relatedly, if two keys overlap perfectly, you can't seemingly select the other one at all, unless you use "move to top" on the one it's selecting, at which point the new bottom one can be chosen. This suggests that the problem is hovering highlights the top one, but the bottom one will be selected.

Edit-mode Bugs and issue

See the examples here: https://youtu.be/rfPb2mfPP3U

[Fixed] Bug 1: Sometimes a specific key disappears and then an error code appears when trying to left click anywhere. I don't have a clue what is causing it, seems to be random because in different keyboard definitions it behaves with different keys, but these keys are always the same on that keyboard definition. I tried to see in the .jsons but there doesn't seem to be related to the position of the keys in the json. P.S.: look that in 1:33 in the video that the "c" button, for example, doesn't have the bug... pretty crazy

[Fixed] Bug 2: When loading another keyboard while editing a key, makes it weirdly behaves. Could be prevented if you grey out the "load keyboard" when in the editmode, or stoping the edit when clicking on "load keyboard".

[Fixed] Issue 1: I can't select the entire key when it's too small because the boundaries are in front of the hitbox, and I think it should be possible, otherwise it would limit the creativity. It could be solved by making the boundaries' hitbox to be rendered outlining the button instead of over the limits. Then you could select the button area anywhere and also the bondaries, doesn't matter how small they are.

Mapping combination keys to a single key

This is a feature request. As an option, let the user map certain keyboard combination keys that, when pressed simultaneously, are mapped to a single key. For example, the ctrl, alt and e keys could be mapped to a โ‚ฌ key instead of lighting up all three keys. Particularly useful for custom keyboards.

I can't start gotri.exe

Hello. I was run gotri.exe, but only black screen(console) is appear and I can't do anything. Please help.

Linux version nohboard

Hello! I love this nohboard program, but I can't use it in linux(It can start but can't trap my keyboard and mouse). So please make nohboard linux version. Thank you.

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.