https://github.com/zthxxx/midk
Mapping MIDI keypress to PC keyboard, that you can work or code with your MIDI kerboard ๐
https://github.com/zthxxx/midk
keyboard keyboard-layout midi midi-keyboard portal
Last synced: about 1 year ago
JSON representation
Mapping MIDI keypress to PC keyboard, that you can work or code with your MIDI kerboard ๐
- Host: GitHub
- URL: https://github.com/zthxxx/midk
- Owner: zthxxx
- License: mit
- Created: 2020-03-04T06:59:01.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-03-07T12:05:39.000Z (over 3 years ago)
- Last Synced: 2025-04-21T03:43:14.386Z (about 1 year ago)
- Topics: keyboard, keyboard-layout, midi, midi-keyboard, portal
- Language: TypeScript
- Homepage: https://midk.zthxxx.me
- Size: 8.42 MB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
๐น MIDK
Mapping MIDI keypress to PC keyboard, that you can work or code with your MIDI kerboard ๐
(e.g. this project is code in midk)
[](https://midk.zthxxx.me)
## Install & Usage
```bash
npm i -g midk
midk
```
## Dev & Debug
launch midk portal and watching files change
```bash
npm start
```
visual the keys-mapping like the above preview image, preview in https://midk.zthxxx.me
```bash
npm run cheatsheet
```
## Customization
you can customize keys-mapping in config file `~/.midk/midk.yml` (created after install).
the default config is stored in [`src/portal.ts`](./src/portal.ts)
```yaml
# choose a pitch notation which is used for note names in config
# https://en.wikipedia.org/wiki/Helmholtz_pitch_notation
# https://en.wikipedia.org/wiki/Scientific_pitch_notation
pitchNotation: Scientific # Scientific | Helmholtz
# if enable playMode, stop to control keyboard
playMode:
# default enable when start
enable: false
# composite keys to toggle enable/disable playMode
toggle:
- CSharp2
- DSharp2
- ASharp5
# all supported key names are written in `keyboard.ts`
# https://github.com/zthxxx/midk/blob/master/src/keyboard.ts
#
# interface Portal {
# [NoteName]: KeyName
# }
portal:
CSharp2: escape
FSharp2: tab
G2: control
GSharp2: capsLock
A2: alt
ASharp2: shift
B2: command
C3: a
CSharp3: q
D3: z
DSharp3: w
E3: s
F3: x
...
# when press the Fn-key, alter some keys mapping
#
# interface FnPortal {
# [NoteName]: Portal
# }
fnPortal:
C2:
CSharp3: f1
D3: f2
DSharp3: f3
E3: f4
F3: f5
...
```
## License
[MIT LICENSE](./LICENSE)
## Author
**midk** ยฉ [zthxxx](https://github.com/zthxxx), Released under the **[MIT](./LICENSE)** License.
> Blog [@zthxxx](https://blog.zthxxx.me) ยท GitHub [@zthxxx](https://github.com/zthxxx)