-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Strange keybinding, it should start from C rather than E. #23
Comments
I am not sure what you mean by that? |
@ritiek In this project, the computer keyboard key 'z'(or 'q') is mapping to tone E, but in music theory, C is the first tone in every 12 tones circle(called Equal Temperament). And piano is a instrument that using Equal Temperament. So the computer keyboard key 'z' and 'q' should mapping to tone C rather then tone E. |
I don't know much about music theory (or even piano), hehe. I just copied how http://www.multiplayerpiano.com/ maps keys without going into anything deeper. If you really want piano-rs to have such mapping, I'd love a PR! We should probably add these new mapping as an optional argument though. |
@ritiek In fact, you could simplely refer to VMPK's(a famous cross-platform Virtual MIDI Piano Keyboard) key mapping. And unfortunately, I have no idea about rust, so I can't send a Pull Request. |
What about supporting multiple key mappings with a command line argument? That would be pretty neat! |
@rrooij Yep, that's what I've been thinking too. I haven't messed anything with this project lately, I'll see what I can do in the coming days though. 😄 |
Or if you want to give it a shot, you're most welcome! |
I wouldn't mind doing it. I don't have a lot of time, so I can't do it if you're in a hurry, but I was searching on something to practice Rust a little bit with and would like to contribute. |
Sure, take your time! Just so you know, the code quality isn't really great or anything. I myself wrote this while learning Rust. :D |
Cool! I will keep it in mind. One cool approach I was thinking of is putting the keyboard layouts in a layouts.yml file so the user can define their own layouts if necessary too. |
No description provided.
The text was updated successfully, but these errors were encountered: