Skip to content
/ midk Public

Mapping MIDI keypress to PC keyboard, that you can work or code with your MIDI kerboard πŸŽ‰

License

Notifications You must be signed in to change notification settings

zthxxx/midk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3206268 Β· Dec 1, 2022

History

33 Commits
Mar 29, 2021
Mar 31, 2020
Feb 23, 2020
Feb 23, 2020
Apr 17, 2020
Feb 10, 2020
Mar 31, 2020
Mar 31, 2020
Mar 19, 2020
Mar 27, 2020
Mar 31, 2020
Feb 15, 2020
Feb 10, 2020
Mar 22, 2020
Mar 19, 2020
Mar 27, 2021
Mar 31, 2020
Mar 31, 2020
Dec 1, 2022
Mar 29, 2021
Mar 27, 2021
Mar 18, 2020

Repository files navigation

🎹 MIDK

Build Status NPM Version NPM Downloads Node.js License

Mapping MIDI keypress to PC keyboard, that you can work or code with your MIDI kerboard πŸŽ‰

(e.g. this project is code in midk)

midk-portal

Install & Usage

npm i -g midk

midk

Dev & Debug

launch midk portal and watching files change

npm start

visual the keys-mapping like the above preview image, preview in https://midk.zthxxx.me

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

# 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

Author

midk Β© zthxxx, Released under the MIT License.

Blog @zthxxx Β· GitHub @zthxxx