https://github.com/nnbnh/bmap
⌨️ SuperB Keymap System
https://github.com/nnbnh/bmap
bmap keybind keybinding keybindings keybinds keyboard keymap keymapping keymappings keymaps
Last synced: 4 months ago
JSON representation
⌨️ SuperB Keymap System
- Host: GitHub
- URL: https://github.com/nnbnh/bmap
- Owner: NNBnh
- License: gpl-3.0
- Created: 2021-12-09T04:16:35.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-12-25T08:27:45.000Z (about 2 years ago)
- Last Synced: 2025-01-27T15:42:31.835Z (about 1 year ago)
- Topics: bmap, keybind, keybinding, keybindings, keybinds, keyboard, keymap, keymapping, keymappings, keymaps
- Homepage:
- Size: 61.5 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

SuperB Keymap System
## 💡 About
**Bmap** is a universal keymap system design for almost all applications and even games. By define each key on the keyboard with a meanings, the applications can map there own set of shortcuts/actions to fit those meanings.
### ✨ Features
- Familiarity: The design is taking from standard keymap from many popular applications, there for it's:
- Easy to learn and get used to.
- Many GUI applications have already roughly follow this keymap system.
- Ergonomic:
- It keep your hand on home position (unlike WASD and HJKL that shift all your finger to the left 1 key)
- Have left-handed variant (swap variant).
## 📒 Design
Here is the full design where each keys is define with a meaning:

### 🔰 Basic
#### 🚥 Mods
These key don't do anything by itself, but it can be combined with each other and other key to alter the meaning.

- Shift: Do something stronger, wider of do in reverse.
- Control: Do something more focus, more specific or with more control.
- Mod: Do something but differently, with small change or do in alternative meta.
- System: Do systemwide operation.
#### 🧰 Functions

Further explanation:
- Area: Switch tabs, open panel, expand drawing area, toggle GUI.
- Advance: Open advance/pipe menu, jump (in game).
### ❤️ Core
Bmap have two keymap groups, one for movement and one for action. These are all used frequently and deserve to be place on the most easy to reach and comfortable to press positions:
#### ↔️ Movement

#### 🅰️ Action

#### 🔀 Swap variant
Depend on the application, user preference or if you are left handed, you could use this variant.

### 🧩 Extra
#### 🐎 ZXCV
Four famous standard keys appear on literally every application.

Further explanation:
- Time: Undo/redo, timeline operation, open history, running (in game).
- Cut: Delete (but also copy), close.
- In: Copy, interac to get/set something from the environment (e.g: get items, talk to NPC, toggle zoom).
- Out: Paste, interac to give/put something from the environment (e.g: fire special weapon).
#### 📃 Modern standard
Standard from modern productivity tools and editors.

Further explanation:
- Target: Jump to next/previous target.
- Play: Play/pause something, print out.
- Previous/Next: Changes selected items to next/previous value.
- Code: Comment, code format.
Reason:
- Target: In many tools: press Ctrl+F to "Find", press Ctrl+H to "Find and Replace". But because we have already use F so we will use H to target.
- Code:
- Ctrl+/ often be use to comment lines in many code editor.
- / often be use to open console commands in some games.
#### 📜 classic standard
Standard from [`vi` editor](https://en.wikipedia.org/wiki/Vi).

Further explanation:
- Assign: Select a register.
- Command: Open command prompt.
#### 🎮 Gaming standard
These keymap are based on popular game genres keymaps with [ESDF mod](http://use-esdf.org) in mind (every keys are shift to the right 1 key).

Further explanation:
- Focus: Crawl, stealthily, change operating range.
- Self: Flip selection cursor and anchor, do something to/about self.
- Item: Rotate main selection, cycle through items, switch item.
- Communicated: Talk/chat (with team), ping, taunt.
#### 🎲 Other

Further explanation:
- Local: Do something in close range.
- Movement: Jump (in text editor), quick teleport, open map.
## 🚀 Implements
We are focus on heavy keyboard usage productivity applications, specifically [text editor](http://www.keyboard-layout-editor.com/#/gists/e12289897003889ee40f5628e31975ca).
## 💌 Credits
Special thanks to:
- [**Keybinding design blogs**](http://xahlee.info/kbd/keybinding_index.html) by [Xah Lee](http://xahlee.info/index.html)
- [**Ergoemacs-mode**](https://ergoemacs.github.io) by [Xah Lee, David Capello, Kin Storm, Walter Landry and Matthew Fidler](https://github.com/ergoemacs/ergoemacs-mode/graphs/contributors)
- [**Vim keymap**](https://www.vim.org) by [Bram Moolenaar](https://en.wikipedia.org/wiki/Bram_Moolenaar)
- [**Kakoune keymap**](https://kakoune.org) by [Maxime Coste](https://github.com/mawww)
- [**Helix keymap**](https://helix-editor.com) by [Blaž Hrastnik](https://github.com/archseer)
- [**Pepper keymap**](https://github.com/vamolessa/pepper) by [Matheus Lessa](https://github.com/vamolessa)