Software Keyboard

Archived development update discussion from past versions
Archived development updates.
Locked
Nicholas
Posts: 13137

Post by Nicholas »

This is what the (new) instruction screen will have on it when you choose the (also new) "Built-in Software Keyboard" as your MIDI input device.

It follows the standard established in GarageBand's "Musical Typing" on the Mac.

This should open Synthesia up to many, many people that don't have any way to try it out right now. Hopefully it will encourage them to get a MIDI device and start learning how to play piano.
software_keyboard_key.png
software_keyboard_key.png (6.02 KiB) Viewed 7322 times
It's just a picture for now. I'll update when I've got something in the development version to show off.

The layout uses a very simple rounded-corner style with no additional effects. You will notice I'm slowly transitioning both the website and game to use this style.
Nicholas
Posts: 13137

Post by Nicholas »

Alright, the first pass at the software keyboard is complete. Use the links in the red box at the top of this page to check it out.

The picture I showed in the last post has actually been filled out with all the in-game controls and replaces the old "up/down, left/right, space, escape" image that shows when a song is just starting or when a song is paused. It's starting to look a little busy now, but it's still manageable.

A few notes:
  • The input preview for the new "Synthesia Software Keyboard" input device doesn't work yet.
  • You can actually change the keyboard mapping by setting an esoteric registry/plist entry: In the Windows registry at "HKCU/Software/Synthesia" or on the Mac in the "~/Library/Preferences/com.synthesia.plist" root, add a string entry called "Software Keyboard Mapping". Set it to something that has exactly 20 characters. The first 18 are for the keys and the last 2 are for your octave up/down controls. As an example, the default is: "awsedftgyhujkolp;'zx". This will (probably) get better in the future.
  • Oh yeah, and only having 1.5 octaves is horrible. I don't recommend the software keyboard to anyone. :D
Tell me what you think.
nnxion
Synthesia Donor
Posts: 43

Post by nnxion »

Awesome Nicholas! Looking great!

I did notice a few things.
- The image shown at startup and at pause showed up even though I hadn't selected the software keyboard as input.
Maybe that could be changed to the attachment (not exactly of course but you get the idea ;) )
- The reg-entry did indeed work. I created the string and it worked.
- When the reg-entry changed, the picture did not. (You probably have a hard coded image now, which is fine with me but just letting you know).

And one question: there is no possible wat to be able to get 2 octaves instead of 1.5 in there right?
pausescreen.jpg
pausescreen.jpg (20.03 KiB) Viewed 7220 times
Nicholas
Posts: 13137

Post by Nicholas »

Yeah, you're right about the image still showing the keyboard even when it's not selected. I sort of dug myself into that when I combined the usual controls with the software keyboard controls. I could use two different pictures like you suggested though.

Also, you're right that the image doesn't change with a different registry key. The letters are "burned" into the image for now. I have to revamp most of my menu/UI code soon (for nearly every upcoming feature), and when I do, I'll be able to generate the keyboard picture easier than if I tried now.

And finally, I thought about the mapping thing and there isn't any reason to limit it to 18 keys. You should be able to make the registry string arbitrarily long (maybe using the "qwerty" and number rows for the first 1.5 octave and then the "zxcv" and "asdf" rows for another 1.5 octaves). Next time I update the development version, that'll be in there.
tommai78101
Posts: 766

Post by tommai78101 »

No offense, but:

About the picture at the very top post, it will be weird when tried.

ASDFGHJKL;' ----> Very hard to press when not looking for the white keys.

WETYUOP ------> Very crooky when your fingers fight for each keys after the white ones.

ZX ------> This row would be a waste for the keys.

--------------------------------------------------------------------------------------

Suggestion (add it or use it):

How about "Multiple Custom Hotkeys"?

Let the user assign one or many keys to some letters chosen by the user.

Then, as they play along, they press the letters in whatever they assign it to, and they may use this as an advantage to their hands. Each person has their own feels and habits. Piano keys are suppose to be that way.

Hope this opens up "Free Play".
Hardware Information: Dell Alienware 15 R4, Intel Core i7-8750H @ 2.20GHz / 2.21 GHz, 16GB RAM, Nvidia RTX 2070 / Nvidia GTX 1060 dual-GPU, Roland FP-10, MIDI-OX + LoopMIDI combo.
Locked