Compare commits

...

51 Commits

Author SHA1 Message Date
skullY
a380937f1f wip 2020-04-21 13:27:13 -07:00
Sergey Vlasov
e916ce5f3e Add VIA support to ID80 (#8791) 2020-04-20 16:06:48 -07:00
Brandon Schlack
086a7cf800 CFTKB Mysterium & Discipad VIA support (#8794)
* [Keyboard] Add VIA support to Mysterium

* [Keyboard] Add VIA support to Discipad
2020-04-20 16:00:01 -07:00
Ryan
99f7fe6bd4 Clean up ATSAM ifdefs (#8808) 2020-04-20 15:38:34 -07:00
umi
d0c3a4c8d5 [Docs] Japanese translation of docs/feature_encoders.md (#8843)
* add feature_encoders.md translation

* update based on comment
2020-04-20 15:36:04 -07:00
Fred Silberberg
2dca087b04 Add naked60 layout, clean up my userspace files and rules.mk. (#8848) 2020-04-20 11:00:14 +01:00
huajijam
7e4cf9ace2 Fixing DecadePad Numlock LED Bug (#8831)
* Fixing Numlock LED Bugs

* Change LED CODE to new API
2020-04-20 10:54:33 +01:00
umi
0d658e0c95 [Docs] Japanese translation of docs/feature_command.md (#8672)
* add feature_command.md translation

* update based on comment
2020-04-20 14:49:12 +09:00
Jared Hendry
1522d97c2b Add support for YMD75 rev 2 (#8853) 2020-04-20 00:58:58 +01:00
Konstantin Đorđević
2d39a9dcdb Remove no-longer-necessary LTO checks from keyboards' config.h files (#8773)
* Remove no-longer-necessary LTO checks from keyboards' config.h files

* Remove unnecessary LTO check in @danielo515's Ergodox EZ keymap

* Remove unnecessary USE_Link_Time_Optimization checks from keyboards' config.h files

Note: DISABLE_LEADER doesn't seem to be used anywhere
2020-04-19 23:56:48 +01:00
Maarten Dekkers
33bf4863f5 Fix ta-65 tsangan layouts (#8855)
The key next to the spacebar wasn't working, fixed that.

Co-authored-by: Maarten Dekkers <maartenn2001@gmail.com>
2020-04-19 23:29:15 +01:00
Maarten Dekkers
ad547c1fdd Fix Plain60 layout (#8854)
Fixes the LAYOUT_60_ansi_split_bs_rshift where the key next to right shift didn't work.

Co-authored-by: Maarten Dekkers <maartenn2001@gmail.com>
2020-04-19 23:12:19 +01:00
Chris Ko
9b70e53508 [Docs] Fixed minor typos (#8860) 2020-04-19 23:04:26 +01:00
khitsule
33a5dc4fcf [Keymap] Updates to personal keymaps (#8818)
* sync with upstream; initial iris design

* sync with upstream

* update to iris keymap

* merge upstream

* iris keymap refined

* Iris readme update

* messed up upstream merge somehow, hopefully fixed

* removed extra closing bracket

* Apply suggestions from code review

Co-Authored-By: Joel Challis <git@zvecr.com>

* change layers from define to enum per suggestions

Co-authored-by: Mysti Woodard <mystiwoodard@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-04-19 10:15:12 -07:00
Elisiano Petrini
e0fffcde99 Updated personal preonic keymap (#8851) 2020-04-20 03:12:48 +10:00
MechMerlin
06bffbd45b [Keyboard] VIA Support: Singa x TGR Unikorn 60 (#8838)
* add via keymap

* change up VID and PID

* enabling the RGB just so VIA has access to it
2020-04-19 10:11:55 -07:00
MechMerlin
c261076f8e [Keyboard] VIA Support: KBD67mkii SOLDERED (#8837)
* add VIA keymap to soldered kbd67mkii

* clean up config file
2020-04-19 10:11:32 -07:00
Erovia
51ecd37d7b Add VIA support for Minivan (#8849)
Co-Authored-By: Joel Challis <git@zvecr.com>
2020-04-19 18:44:05 +02:00
Toshihiro Suzuki
ed5e69093c Update my keymaps (#8840) 2020-04-20 01:17:47 +10:00
Ryan
43785126a7 Merge pull request #8710 from vomindoraan/keymap_extras_fixup 2020-04-19 19:18:05 +10:00
skullydazed
8c97b4a3a4 Add a syllabus to guide people who are learning QMK (#8816) 2020-04-19 09:08:38 +02:00
Joel Challis
0698b15aa5 Update cli CI checkout to v2 (#8823) 2020-04-19 09:08:12 +02:00
Jonathan Rascher
d600631ad1 [Keymap] Rework my Tsangan layout; turn off mousekeys (#8836)
* Give Tsangan layout a real Fn2 layer

* Disable mouse keys to work around qmk#8323

I don't actually use this feature, so there's no reason for it to be
enabled anyway, and it seems to cause spurious wakeups on Windows.
2020-04-18 18:41:40 -07:00
Josh Hinnebusch
f3595f65b7 [Keyboard] add dual-direction diode capability for hbcp (#8795)
* add dual-direction diode capability

* update per PR requests

Co-authored-by: hineybush <hineybushkeyboards@gmail.com>
2020-04-18 18:06:28 -07:00
mechanicalguy21
23df763a31 [Keyboard] Adding Novem keyboard (macropad) and demo layout (#8781)
* Adding Novem keyboard (macropad) and demo layout

* Making changes suggested during pull request

* Removing keyboards/novem/keymaps/default/config.h as suggested during the pull request

* Moving keyboard to the handwired folder and changing the build line from readme in order to reflect this new location
2020-04-18 17:58:58 -07:00
Konstantin Đorđević
ed910c8e97 Add back deprecated SE_AE keycode 2020-04-19 02:56:52 +02:00
Cody Bender
7e1c0bd4c0 [Keyboard] Add Absinthe keyboard (#8769)
* Initial absinthe setup

* Update Absinthe files

* Add absinthe ANSI layout

* Update absinthe keymaps

* Update Absinthe for rev3

* Flip encoder pins

* Fix rules.mk

* Update absinthe files

* Fix absinthe ansi config

* Add RGB

* Change rules for absinthe for firmware size

* Fix pins for rev4

* Fix pins and GESC

* Remove GESC from ANSI layout

* Rebase upstream/master

* Update formatting and convention from 8769 feedback

* Format rules.mk
2020-04-18 17:40:13 -07:00
Spaceman
d2b8398f75 [Keyboard] Add DGG-56 Handwired (#8740)
* Add ddg_56 keyboard

* Add ddg_56 default keymap

* Fix config.h

* Update config.h

* Update ddg_56.h

* Update keyboards/handwired/ddg_56/readme.md

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update keyboards/handwired/ddg_56/readme.md

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update keyboards/handwired/ddg_56/info.json

Co-Authored-By: Joel Challis <git@zvecr.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-04-18 17:20:42 -07:00
joseandres42
195324cc4c Add dvorak's spanish variant to quantum/keymap_extras (#8732)
* Added dvorak's spanish variant.

* Fixed spacing

* Fixed filename typo

* Applied fixes and suggestions.

* Fixed spacing

* Added sendstring_spanish_dvorak.h

* Fixed sendstring_spanish.h

* Update quantum/keymap_extras/sendstring_spanish_dvorak.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/sendstring_spanish.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/sendstring_spanish_dvorak.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

Co-authored-by: joseandres42 <joseandres42@Orion-PC.localdomain>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-04-18 17:12:36 -07:00
Ryan
cd5399942b Merge pull request #8722 from fauxpark/keymap-extras-bepo 2020-04-19 06:58:01 +10:00
Ryan
fd4bbd8d11 Update Italian macOS keymaps and add sendstring LUTs (#8701)
* Update Italian macOS keymaps and add sendstring LUTs

* Wrong letter
2020-04-19 06:57:36 +10:00
Ryan
f43cb31476 Update French and German macOS keymaps and add sendstring LUTs (#8700) 2020-04-19 06:57:05 +10:00
Ryan
89eb3a9e42 Update Swiss French/German keymaps and add sendstring LUTs (#8689) 2020-04-19 06:56:49 +10:00
skullydazed
66d94dc22a Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
MechMerlin
5a8f59503e VIA Support: All QMK Winkeyless.kr boards (#8846) 2020-04-18 21:45:24 +02:00
skullydazed
7918f7d61d Document the Proton C pins for manual Pro Micro conversion (#7043) 2020-04-18 10:58:59 -07:00
worldspawn00
55b43f02f0 fixing Walletburner Neuron layout for configurator (#8839)
* fixing layout for configurator

adding missing bottom row key to resolve formatting
2020-04-18 10:27:47 -07:00
Erovia
46a84ec84a Load keymap-level rules.mk when compiling keymap.json (#8841) 2020-04-18 14:29:48 +01:00
James Young
3b5998085c Add info.json for bat43 (#8824) 2020-04-17 19:26:04 +01:00
Ryan
bc13dcd349 Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
moyi4681
55002338b1 add kbd67 rev2 via support, kbd67mkiirgb small change (#8810)
* add kbd67 rev2 via support, kbd67mkiirgb small change

add kbd67 rev2 via support, kbd67mkiirgb small change

* Update keyboards/kbdfans/kbd67/rev2/keymaps/via/keymap.c

* Update keyboards/kbdfans/kbd67/rev2/keymaps/via/keymap.c

* define DYNAMIC_KEYMAP_LAYER_COUNT 2
2020-04-16 17:41:56 -07:00
MechMerlin
4a92dd327c [Keyboard] Botanical Keyboards FM2U (#8819)
* initial commit for fm2u keyboard

* add fm2u keyboard along with VIA keymap

* add meme LAYOUT support

* minor cleanups

* fixup layout macro names
2020-04-16 12:28:49 -07:00
Mikkel Jeppesen
7873b49d40 Keeb.werk nano.slider Improved Default Layout (#8785)
* Improved default layout to match improved layout from configurator PR

* fixed keycode spacing

* Update keyboards/keebwerk/nano_slider/keymaps/default/keymap.c
2020-04-16 12:04:27 -07:00
stanrc85
fcf2b45263 Update stanrc85 rules for alice/rev1 (#8821) 2020-04-16 16:57:32 +01:00
umi
5607af8524 [Docs] Japanese translation of docs/feature_combo.md (#8671)
* add feature_combo.md translation

* change tiny word

* update based on comment

* update based on comment
2020-04-15 22:08:00 -04:00
fauxpark
09a1917103 Slight rename of double angle quote keycodes 2020-04-13 21:15:37 +10:00
fauxpark
0499f30f59 Update BÉPO keymap and sendstring LUT 2020-04-07 20:50:10 +10:00
Konstantin Đorđević
e0909a31c7 GR_DTON → GR_DIAT 2020-04-06 19:32:40 +02:00
Konstantin Đorđević
d6bffdf577 Small corrections to Belgian, Serbian and Slovenian keymaps 2020-04-06 19:10:57 +02:00
fauxpark
bf38f39c3f Wrong letter 2020-04-06 20:15:13 +10:00
fauxpark
62d1d69ba9 Update Italian macOS keymaps and add sendstring LUTs 2020-04-06 15:30:36 +10:00
246 changed files with 6393 additions and 1934 deletions

View File

@@ -19,7 +19,7 @@ jobs:
container: qmkfm/base_container
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Install dependencies

View File

@@ -557,55 +557,38 @@ endef
# Let's match everything, we handle all the rule parsing ourselves
.PHONY: %
%:
# Check if we have the CMP tool installed
cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
# Ensure that python3 is installed. This check can be removed after python is used in more places.
if ! python3 --version 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; fi
# Check if the submodules are dirty, and display a warning if they are
ifndef SKIP_GIT
if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 50 --init lib/chibios; fi
if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --depth 50 --init lib/chibios-contrib; fi
if [ ! -e lib/ugfx ]; then git submodule sync lib/ugfx && git submodule update --depth 50 --init lib/ugfx; fi
if [ ! -e lib/lufa ]; then git submodule sync lib/lufa && git submodule update --depth 50 --init lib/lufa; fi
git submodule status --recursive 2>/dev/null | \
while IFS= read -r x; do \
case "$$x" in \
\ *) ;; \
*) printf "$(MSG_SUBMODULE_DIRTY)";break;; \
esac \
done
endif
rm -f $(ERROR_FILE) > /dev/null 2>&1
$(eval $(call PARSE_RULE,$@))
$(eval $(call SET_SILENT_MODE))
# Run all the commands in the same shell, notice the + at the first line
# it has to be there to allow parallel execution of the submake
# This always tries to compile everything, even if error occurs in the middle
# But we return the error code at the end, to trigger travis failures
# The sort at this point is to remove duplicates
$(foreach COMMAND,$(sort $(COMMANDS)),$(RUN_COMMAND))
if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
$(foreach TEST,$(sort $(TESTS)),$(RUN_TEST))
if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
# # Check if we have the CMP tool installed
# cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
# # Ensure that python3 is installed. This check can be removed after python is used in more places.
# if ! python3 --version 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; fi
# # Check if the submodules are dirty, and display a warning if they are
#ifndef SKIP_GIT
# if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 50 --init lib/chibios; fi
# if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --depth 50 --init lib/chibios-contrib; fi
# if [ ! -e lib/ugfx ]; then git submodule sync lib/ugfx && git submodule update --depth 50 --init lib/ugfx; fi
# if [ ! -e lib/lufa ]; then git submodule sync lib/lufa && git submodule update --depth 50 --init lib/lufa; fi
# git submodule status --recursive 2>/dev/null | \
# while IFS= read -r x; do \
# case "$$x" in \
# \ *) ;; \
# *) printf "$(MSG_SUBMODULE_DIRTY)";break;; \
# esac \
# done
#endif
# rm -f $(ERROR_FILE) > /dev/null 2>&1
# $(eval $(call PARSE_RULE,$@))
# $(eval $(call SET_SILENT_MODE))
# # Run all the commands in the same shell, notice the + at the first line
# # it has to be there to allow parallel execution of the submake
# # This always tries to compile everything, even if error occurs in the middle
# # But we return the error code at the end, to trigger travis failures
# # The sort at this point is to remove duplicates
# $(foreach COMMAND,$(sort $(COMMANDS)),$(RUN_COMMAND))
# if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
# $(foreach TEST,$(sort $(TESTS)),$(RUN_TEST))
# if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
# These no longer work because of the colon system
# All should compile everything
# .PHONY: all
# all: all-keyboards test-all
# Define some shortcuts, mostly for compatibility with the old syntax
# .PHONY: all-keyboards
# all-keyboards: all\:all\:all
# .PHONY: all-keyboards-defaults
# all-keyboards-defaults: all\:default
# .PHONY: test
# test: test-all
# .PHONY: test-clean
# test-clean: test-all-clean
bin/qmk makehandler $@
lib/%:
git submodule sync $?

View File

@@ -35,7 +35,7 @@ def _check_modules(requirements):
if not find_spec(module['import']):
print('Could not find module %s!' % module['name'])
print('Please run `python3 -m pip install -r %s` to install required python dependencies.' % str(qmk_dir / requirements))
print('Please run `python3 -m pip install -r %s` to install required python dependencies.' % (qmk_dir / requirements,))
if developer:
print('You can also turn off developer mode: qmk config user.developer=None')
print()

View File

@@ -21,6 +21,11 @@ else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","")
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
endif
# Load the keymap-level rules.mk if exists
ifneq ("$(wildcard $(KEYMAP_PATH))", "")
-include $(KEYMAP_PATH)/rules.mk
endif
# Generate the keymap.c
$(KEYBOARD_OUTPUT)/src/keymap.c: $(KEYMAP_JSON)
bin/qmk json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)

View File

@@ -6,6 +6,7 @@
* [Testing and Debugging](newbs_testing_debugging.md)
* [Getting Help/Support](support.md)
* [Other Resources](newbs_learn_more_resources.md)
* [Syllabus](syllabus.md)
* FAQs
* [General FAQ](faq_general.md)

View File

@@ -6,7 +6,7 @@ The QMK CLI makes building and working with QMK keyboards easier. We have provid
### Requirements :id=requirements
The CLI requires Python 3.5 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI.
QMK requires Python 3.6 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI.
### Install Using Homebrew (macOS, some Linux) :id=install-using-homebrew
@@ -21,7 +21,7 @@ qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build
### Install Using easy_install or pip :id=install-using-easy_install-or-pip
If your system is not listed above you can install QMK manually. First ensure that you have python 3.5 (or later) installed and have installed pip. Then install QMK with this command:
If your system is not listed above you can install QMK manually. First ensure that you have python 3.6 (or later) installed and have installed pip. Then install QMK with this command:
```
pip3 install qmk

View File

@@ -44,7 +44,7 @@ def hello(cli):
First we import the `cli` object from `milc`. This is how we interact with the user and control the script's behavior. We use `@cli.argument()` to define a command line flag, `--name`. This also creates a configuration variable named `hello.name` (and the corresponding `user.name`) which the user can set so they don't have to specify the argument. The `cli.subcommand()` decorator designates this function as a subcommand. The name of the subcommand will be taken from the name of the function.
Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.5/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator.
Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.6/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator.
# User Interaction
@@ -56,13 +56,13 @@ There are two main methods for outputting text in a subcommand- `cli.log` and `c
You can use special tokens to colorize your text, to make it easier to understand the output of your program. See [Colorizing Text](#colorizing-text) below.
Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.5/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example.
Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.6/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example.
You should never use the format operator (`%`) directly, always pass values as arguments.
### Logging (`cli.log`)
The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.5/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong.
The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.6/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong.
The default log level is `INFO`. If the user runs `qmk -v <subcommand>` the default log level will be set to `DEBUG`.

View File

@@ -2,7 +2,7 @@
Most of our style follows PEP8 with some local modifications to make things less nit-picky.
* We target Python 3.5 for compatability with all supported platforms.
* We target Python 3.6 for compatability with all supported platforms.
* We indent using four (4) spaces (soft tabs)
* We encourage liberal use of comments
* Think of them as a story describing the feature
@@ -317,7 +317,7 @@ At the time of this writing our tests are not very comprehensive. Looking at the
## Integration Tests
Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.5/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened.
Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.6/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened.
## Unit Tests

View File

@@ -160,10 +160,3 @@ As of now root of its cause is not clear but some build options seem to be relat
https://github.com/tmk/tmk_keyboard/issues/266
https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778
## FLIP Doesn't Work
### `AtLibUsbDfu.dll` Not Found
Remove current driver and reinstall one FLIP provides from DeviceManager.
http://imgur.com/a/bnwzy

View File

@@ -26,7 +26,6 @@ Compatible flashers:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
* [dfu-programmer](https://github.com/dfu-programmer/dfu-programmer) / `:dfu` in QMK (recommended command line)
* [Atmel's Flip](http://www.microchip.com/developmenttools/productdetails.aspx?partno=flip) (not recommended)
Flashing sequence:

View File

@@ -155,11 +155,3 @@ Pour le moment, l'origine du problème n'est pas comprise, mais certaines option
https://github.com/tmk/tmk_keyboard/issues/266
https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778
## FLIP ne marche pas
### `AtLibUsbDfu.dll` Not Found
Supprimez le pilote actuel et réinstallez celui donné par FLIP dans le gestionnaire de périphériques.
http://imgur.com/a/bnwzy

View File

@@ -26,7 +26,6 @@ Méthodes de flash compatibles :
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (interface graphique recommandé)
* [dfu-programmer](https://github.com/dfu-programmer/dfu-programmer) / `:dfu` avec QMK (outil en ligne de commande recommandé)
* [Atmel's Flip](http://www.microchip.com/developmenttools/productdetails.aspx?partno=flip) (non recommandé)
Ordre des actions:

View File

@@ -20,7 +20,6 @@ The "easy" way to flash the firmware is using a tool from your host OS:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox) (recommended)
* [Teensy Loader](https://www.pjrc.com/teensy/loader.html)
* [Atmel FLIP](http://www.atmel.com/tools/flip.aspx)
If you want to program via the command line you can uncomment the ['modifyvm'] lines in the Vagrantfile to enable the USB passthrough into Linux and then program using the command line tools like dfu-util/dfu-programmer or you can install the Teensy CLI version.

View File

@@ -152,10 +152,3 @@ https://geekhack.org/index.php?topic=14290.msg1884034#msg1884034
https://github.com/tmk/tmk_keyboard/issues/266
https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778
## FLIP が動作しない
### `AtLibUsbDfu.dll` が見つかりません
デバイスマネージャから現在のドライバを削除し、FLIP が提供するものを再インストールします。
http://imgur.com/a/bnwzy

108
docs/ja/feature_combo.md Normal file
View File

@@ -0,0 +1,108 @@
# コンボ
<!---
original document: 0.8.94:docs/feature_combo.md
git diff 0.8.94 HEAD -- docs/feature_combo.md | cat
-->
コンボ機能は、同時押し方式でのカスタムアクション追加機能です。同時に複数のキーを押して、異なる効果を生み出すことができます。例えば、タッピング時間内で `A``S` を押すと、代わりに `ESC` が押されます。もっと複雑なタスクを実行させることもできます。
この機能を有効にするには、`rules.mk``COMBO_ENABLE = yes` を追加する必要があります。
さらに、使用するコンボの数を `config.h` の中で、`#define COMBO_COUNT 1` (1を使用するコンボの数で置き換えます)と書いて、指定する必要があります。
<!-- At this time, this is necessary -->
また、デフォルトでは、コンボのタッピング時間は `TAPPING_TERM` と同じ値に設定されます (ほとんどのキーボードではデフォルトで 200)。ただし、`config.h` で定義することにより異なる値を指定することができます。例えば: `#define COMBO_TERM 300` はコンボのためのタイムアウト時間を 300ms に設定します。
次に、`keymap.c` ファイルに、`COMBO_END` で終了するキーのシーケンス、およびキーの組み合わせを列挙する構造体、その結果のアクションを定義する必要があります。
```c
const uint16_t PROGMEM test_combo[] = {KC_A, KC_B, COMBO_END};
combo_t key_combos[COMBO_COUNT] = {COMBO(test_combo, KC_ESC)};
```
これは、A と B のキーを押した場合に、"Escape" を送信します。
!> このメソッドは[基本的なキーコード](ja/keycodes_basic.md)のみをサポートします。詳細な制御については例を見てください。
## 例
リストを追加したい場合は、以下のようなものを使います:
```c
enum combos {
AB_ESC,
JK_TAB
};
const uint16_t PROGMEM ab_combo[] = {KC_A, KC_B, COMBO_END};
const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END};
combo_t key_combos[COMBO_COUNT] = {
[AB_ESC] = COMBO(ab_combo, KC_ESC),
[JK_TAB] = COMBO(jk_combo, KC_TAB)
};
```
より複雑な実装として、カスタム処理を追加するために `process_combo_event` 関数を使うことができます。
```c
enum combo_events {
ZC_COPY,
XV_PASTE
};
const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END};
const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END};
combo_t key_combos[COMBO_COUNT] = {
[ZC_COPY] = COMBO_ACTION(copy_combo),
[XV_PASTE] = COMBO_ACTION(paste_combo),
};
void process_combo_event(uint8_t combo_index, bool pressed) {
switch(combo_index) {
case ZC_COPY:
if (pressed) {
tap_code16(LCTL(KC_C));
}
break;
case XV_PASTE:
if (pressed) {
tap_code16(LCTL(KC_V));
}
break;
}
}
```
これは、Z と C を押すと Ctrl+C を送信し、X と V を押すと Ctrl+V を送信します。これを変更して、レイヤーの変更、サウンドの再生、設定の変更などを行うこともできます。
## 追加の設定
長いコンボあるいはさらに長いコンボを使っている場合、構造体があなたのしていることに対応するのに十分な大きさで無いかもしれないため、問題が発生するかもしれません。
この場合、`config.h` ファイルに `#define EXTRA_LONG_COMBOS` または `#define EXTRA_EXTRA_LONG_COMBOS` のどちらかを追加することができます。
`COMBO_ALLOW_ACTION_KEYS` を定義することでアクションキーを有効にすることもできます。
## キーコード
その場でコンボ機能を有効、無効および切り替えすることができます。ゲームなどで、一時的にそれらを無効にする必要がある場合に便利です。
| キーコード | 説明 |
|----------|---------------------------------|
| `CMB_ON` | コンボ機能をオンにします |
| `CMB_OFF` | コンボ機能をオフにします |
| `CMB_TOG` | コンボ機能のオンとオフを切り替えます |
## ユーザコールバック
キーコードに加えて、状態を設定または状態をチェックするために使うことができる幾つかの関数があります:
| 関数 | 説明 |
|-----------|--------------------------------------------------------------------|
| `combo_enable()` | コンボ機能を有効にします |
| `combo_disable()` | コンボ機能を無効にし、コンボバッファをクリアします |
| `combo_toggle()` | コンボ機能の状態を切り替えます |
| `is_combo_enabled()` | コンボ機能の状態(true か false)を返します |

View File

@@ -0,0 +1,56 @@
# コマンド
<!---
original document: 0.8.94:docs/feature_command.md
git diff 0.8.94 HEAD -- docs/feature_command.md | cat
-->
コマンド(旧称:マジック)は、ファームウェアを書き込んだり、[ブートマジック](ja/feature_bootmagic.md)を使うためにプラグを抜いたりすることなくキーボードの挙動を変更する方法です。この機能と[ブートマジックキーコード](feature_bootmagic.md#keycodes)には多くの重複があります。可能な限り、コマンドでは無くブートマジックキーコードの機能を使うことをお勧めします。
一部のキーボードではコマンドがデフォルトで無効になっています。その場合、`rules.mk` 内で明示的に有効にする必要があります:
```make
COMMAND_ENABLE = yes
```
## 使用法
コマンドを使うには、`IS_COMMAND()` マクロで定義されたキーの組み合わせを押し続けます。デフォルトでは、これは「左Shift + 右Shift」です。次に、目的のコマンドに対応するキーを押します。例えば、現在の QMK バージョンを QMK Toolbox コンソールに出力するには、「左Shift + 右Shift + `V`」を押します。
## 設定
コマンドのためのキーの割り当てを変更したい場合は、キーボードあるいはキーマップレベルのどちらかで、`config.h` にこれらを `#define` します。ここで割り当てる全てのキーコードは `KC_` 接頭辞を省略する必要があります。
| 定義 | デフォルト | 説明 |
|------------------------------------|--------------------------------|------------------------------------------------|
| `IS_COMMAND()` | `(get_mods() == MOD_MASK_SHIFT)` | コマンドをアクティブにするキーの組み合わせ |
| `MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS` | `true` | ファンクション行を使ってデフォルトレイヤーを設定 |
| `MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS` | `true` | 数字キーでデフォルトレイヤーを設定 |
| `MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM` | `false` | `MAGIC_KEY_LAYER0..9` を使ってデフォルトレイヤーを設定 |
| `MAGIC_KEY_DEBUG` | `D` | シリアルを介するデバッグの切り替え |
| `MAGIC_KEY_DEBUG_MATRIX` | `X` | キーマトリックスのデバッグの切り替え |
| `MAGIC_KEY_DEBUG_KBD` | `K` | キーボードのデバッグの切り替え |
| `MAGIC_KEY_DEBUG_MOUSE` | `M` | マウスのデバッグの切り替え |
| `MAGIC_KEY_CONSOLE` | `C` | コマンドコンソールを有効にする |
| `MAGIC_KEY_VERSION` | `V` | コンソールに実行中の QMK バージョンを出力 |
| `MAGIC_KEY_STATUS` | `S` | コンソールに現在のキーボードの状態を出力 |
| `MAGIC_KEY_HELP` | `H` | コンソールにコマンドのヘルプを出力 |
| `MAGIC_KEY_HELP_ALT` | `SLASH` | コンソールにコマンドのヘルプを出力 (代替) |
| `MAGIC_KEY_LAYER0` | `0` | レイヤー 0 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER0_ALT` | `GRAVE` | レイヤー 0 をデフォルトレイヤーにする (代替) |
| `MAGIC_KEY_LAYER1` | `1` | レイヤー 1 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER2` | `2` | レイヤー 2 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER3` | `3` | レイヤー 3 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER4` | `4` | レイヤー 4 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER5` | `5` | レイヤー 5 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER6` | `6` | レイヤー 6 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER7` | `7` | レイヤー 7 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER8` | `8` | レイヤー 8 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER9` | `9` | レイヤー 9 をデフォルトレイヤーにする |
| `MAGIC_KEY_BOOTLOADER` | `B` | ブートローダにジャンプする |
| `MAGIC_KEY_BOOTLOADER_ALT` | `ESC` | ブートローダにジャンプする (代替) |
| `MAGIC_KEY_LOCK` | `CAPS` | 何も入力できないようにキーボードをロック |
| `MAGIC_KEY_EEPROM` | `E` | 保存された EEPROM 設定をコンソールに出力 |
| `MAGIC_KEY_EEPROM_CLEAR` | `BSPACE` | EEPROM をクリア |
| `MAGIC_KEY_NKRO` | `N` | N キーロールオーバー (NKRO) の有効・無効を切り替え |
| `MAGIC_KEY_SLEEP_LED` | `Z` | コンピュータがスリープの時に LED を切り替え |

View File

@@ -0,0 +1,81 @@
# エンコーダ
<!---
original document: 0.8.123:docs/feature_encoders.md
git diff 0.8.123 HEAD -- docs/feature_encoders.md | cat
-->
以下を `rules.mk` に追加することで基本的なエンコーダがサポートされます:
```make
ENCODER_ENABLE = yes
```
さらに、以下を `config.h` に追加します:
```c
#define ENCODERS_PAD_A { B12 }
#define ENCODERS_PAD_B { B13 }
```
各 PAD_A/B 変数は配列を定義するため、複数のエンコーダを定義することができます。例えば:
```c
#define ENCODERS_PAD_A { encoder1a, encoder2a }
#define ENCODERS_PAD_B { encoder1b, encoder2b }
```
エンコーダの時計回りの方向が間違っている場合は、A と B のパッド定義を交換することができます。define を使って逆にすることもできます:
```c
#define ENCODER_DIRECTION_FLIP
```
さらに、解像度を同じファイルで指定することができます (デフォルトかつお勧めは4):
```c
#define ENCODER_RESOLUTION 4
```
## 分割キーボード
分割キーボードのそれぞれの側のエンコーダに異なるピン配列を使っている場合、右側のピン配列を以下のように定義することができます:
```c
#define ENCODERS_PAD_A_RIGHT { encoder1a, encoder2a }
#define ENCODERS_PAD_B_RIGHT { encoder1b, encoder2b }
```
## コールバック
コールバック関数を `<keyboard>.c` に記述することができます:
```c
void encoder_update_kb(uint8_t index, bool clockwise) {
encoder_update_user(index, clockwise);
}
```
あるいは `keymap.c` に記述することもできます:
```c
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
} else if (index == 1) { /* Second encoder */
if (clockwise) {
tap_code(KC_DOWN);
} else {
tap_code(KC_UP);
}
}
}
```
## ハードウェア
エンコーダの A と B の線は MCU に直接配線し、C/common 線はグランドに配線する必要があります。

View File

@@ -31,7 +31,6 @@ BOOTLOADER = atmel-dfu
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (推奨の GUI)
* QMK の [dfu-programmer](https://github.com/dfu-programmer/dfu-programmer) / `:dfu` (推奨のコマンドライン)
* [Atmel の Flip](http://www.microchip.com/developmenttools/productdetails.aspx?partno=flip) (非推奨)
書き込み手順:

View File

@@ -25,7 +25,6 @@ Vagrant 以外に、適切なプロバイダがインストールされ、その
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox) (推奨)
* [Teensy ローダー](https://www.pjrc.com/teensy/loader.html)
* [Atmel FLIP](http://www.atmel.com/tools/flip.aspx)
コマンドラインでプログラムしたい場合は、Vagranfile の ['modifyvm'] 行のコメントを解除して Linux への USB パススルーを有効にし、dfu-util/dfu-programmer のようなコマンドラインツールを使ってプログラムすることができます。あるいは Teensy CLI バージョンをインストールすることができます。

View File

@@ -1,5 +1,9 @@
# Converting a board to use the Proton C
Since the Proton C is a drop-in replacement for a Pro Micro we've made it easy to use. This page documents a handy automated process for converting keyboards, as well as documenting the manual process if you'd like to make use of Proton C features that aren't available on Pro Micros.
## Automatic Conversion
If a board currently supported in QMK uses a Pro Micro (or compatible board) and you want to use the Proton C, you can generate the firmware by appending `CONVERT_TO_PROTON_C=yes` (or `CTPC=yes`) to your make argument, like this:
make 40percentclub/mf68:default CTPC=yes
@@ -8,13 +12,15 @@ You can add the same argument to your keymap's `rules.mk`, which will accomplish
This exposes the `CONVERT_TO_PROTON_C` flag that you can use in your code with `#ifdef`s, like this:
#ifdef CONVERT_TO_PROTON_C
// Proton C code
#else
// Pro Micro code
#endif
```c
#ifdef CONVERT_TO_PROTON_C
// Proton C code
#else
// Pro Micro code
#endif
```
Before being able to compile, you may get some errors about `PORTB/DDRB`, etc not being defined, so you'll need to convert the keyboard's code to use the [GPIO Controls](internals_gpio_control.md) that will work for both ARM and AVR. This shouldn't affect the AVR builds at all.
If you get errors about `PORTB/DDRB`, etc not being defined, so you'll need to convert the keyboard's code to use the [GPIO Controls](internals_gpio_control.md) that will work for both ARM and AVR. This shouldn't affect the AVR builds at all.
The Proton C only has one on-board LED (C13), and by default, the TXLED (D5) is mapped to it. If you want the RXLED (B0) mapped to it instead, add this like to your `config.h`:
@@ -31,3 +37,54 @@ These are defaults based on what has been implemented for ARM boards.
| [Backlight](feature_backlight.md) | Forces [task driven PWM](feature_backlight.md#software-pwm-driver) until ARM can provide automatic configuration |
| USB Host (e.g. USB-USB converter) | Not supported (USB host code is AVR specific and is not currently supported on ARM) |
| [Split keyboards](feature_split_keyboard.md) | Not supported yet |
## Manual Conversion
To use the Proton C natively, without having to specify `CTPC=yes`, you need to change the `MCU` line in `rules.mk`:
```
MCU = STM32F303
```
Remove these variables if they exist:
* `BOOTLOADER`
* `EXTRA_FLAGS`
Finally convert all pin assignments in `config.h` to the stm32 equivalents.
| Pro Micro Left | Proton C Left | | Proton C Right | Pro Micro Right |
|-----------|----------|-|----------|-----------|
| `D3` | `A9` | | 5v | RAW (5v) |
| `D2` | `A10` | | GND | GND |
| GND | GND | | FLASH | RESET |
| GND | GND | | 3.3v | VCC <sup>1</sup> |
| `D1` | `B7` | | `A2` | `F4` |
| `D0` | `B6` | | `A1` | `F5` |
| `D4` | `B5` | | `A0` | `F6` |
| `C6` | `B4` | | `B8` | `F7` |
| `D7` | `B3` | | `B13` | `B1` |
| `E6` | `B2` | | `B14` | `B3` |
| `B4` | `B1` | | `B15` | `B2` |
| `B5` | `B0` | | `B9` | `B6` |
| `B0` (RX LED) | `C13` <sup>2</sup> | | `C13` <sup>2</sup> | `D5` (TX LED) |
You can also make use of several new pins on the extended portion of the Proton C:
| Left | | Right |
|------|-|-------|
| `A4`<sup>3</sup> | | `B10` |
| `A5`<sup>4</sup> | | `B11` |
| `A6` | | `B12` |
| `A7` | | `A14`<sup>5</sup> (SWCLK) |
| `A8` | | `A13`<sup>5</sup> (SWDIO) |
| `A15` | | RESET<sup>6</sup> |
Notes:
1. On a Pro Micro VCC can be 3.3v or 5v.
2. A Proton C only has one onboard LED, not two like a Pro Micro. The Pro Micro has an RX LED on `D5` and a TX LED on `B0`.
3. `A4` is shared with the speaker.
4. `A5` is shared with the speaker.
5. `A13` and `A14` are used for hardware debugging (SWD). You can also use them for GPIO, but should use them last.
6. Short RESET to 3.3v (pull high) to reboot the MCU. This does not enter bootloader mode like a Pro Micro, it only resets the MCU.

View File

@@ -46,9 +46,6 @@ An IDE that is popular with many C developers.
## Firmware
The software that controls your MCU.
## FLIP
Software provided by Atmel for flashing AVR devices. We generally recommend [QMK Flasher](https://github.com/qmk/qmk_flasher) instead, but for some advanced use cases FLIP is required.
## git
Versioning software used at the command line

70
docs/syllabus.md Normal file
View File

@@ -0,0 +1,70 @@
# QMK Syllabus
This page helps you build up your QMK knowledge by introducing the basics first and guiding you to understanding all the concepts you need to know to be proficient with QMK.
# Beginning Topics
If you read nothing else you should read the documents in this section. After reading the [Tutorial](newbs.md) you should be able to create a basic keymap, compile it, and flash it to your keyboard. The remaining documents will flesh out your knowledge of these basics.
* **Learn How To Use QMK Tools**
* [Tutorial](newbs.md)
* [CLI](cli.md)
* [GIT](newbs_git_best_practices.md)
* **Learn About Keymaps**
* [Layers](feature_layers.md)
* [Keycodes](keycodes.md)
* The full list of keycodes you can use. Note that some may require knowledge found in the Intermediate or Advanced Topics.
* **Configuring IDEs** - Optional
* [Eclipse](other_eclipse.md)
* [VS Code](other_vscode.md)
# Intermediate Topics
These topics start to dig into some of the features that QMK supports. You don't have to read all of these documents, but some of the documents in the Advanced Topics section won't make sense if you skip over some of these.
* **Learn How To Configure Features**
<!-- * Configuration Overview FIXME(skullydazed/anyone): write this document -->
* [Audio](feature_audio.md)
* Lighting
* [Backlight](feature_backlight.md)
* [LED Matrix](feature_led_matrix.md)
* [RGB Lighting](feature_rgblight.md)
* [RGB Matrix](feature_rgb_matrix.md)
* [Tap-Hold Configuration](tap_hold.md)
* **Learn More About Keymaps**
* [Keymaps](keymap.md)
* [Custom Functions and Keycodes](custom_quantum_functions.md)
* Macros
* [Dynamic Macros](feature_dynamic_macros.md)
* [Compiled Macros](feature_macros.md)
* [Tap Dance](feature_tap_dance.md)
* [Combos](feature_combo.md)
* [Userspace](feature_userspace.md)
# Advanced Topics
Everything below here requires a lot of foundational knowledge. Besides being able to create keymaps using advanced features you should be familiar with using both `config.h` and `rules.mk` to configure options for your keyboard.
* **Maintaining Keyboards Within QMK**
* [Handwiring a Keyboard](hand_wire.md)
* [Keyboard Guidelines](hardware_keyboard_guidelines.md)
* [info.json Reference](reference_info_json.md)
* [Debounce API](feature_debounce_type.md)
* **Advanced Features**
* [Unicode](feature_unicode.md)
* [API](api_overview.md)
* [Bootmagic](feature_bootmagic.md)
* **Hardware**
* [How Keyboards Work](how_keyboards_work.md)
* [How A Keyboard Matrix Works](how_a_matrix_works.md)
* [Split Keyboards](feature_split_keyboard.md)
* [Stenography](feature_stenography.md)
* [Pointing Devices](feature_pointing_device.md)
* **Core Development**
* [Coding Conventions](coding_conventions_c.md)
* [Compatible Microcontrollers](compatible_microcontrollers.md)
* [Custom Matrix](custom_matrix.md)
* [Understanding QMK](understanding_qmk.md)
* **CLI Development**
* [Coding Conventions](coding_conventions_python.md)
* [CLI Development Overview](cli_development.md)

View File

@@ -12,7 +12,7 @@ As of [PR#1359](https://github.com/qmk/qmk_firmware/pull/1359/), there is a new
#define PERMISSIVE_HOLD
```
This makes tap and hold keys (like Mod Tap) work better for fast typist, or for high `TAPPING_TERM` settings.
This makes tap and hold keys (like Mod Tap) work better for fast typists, or for high `TAPPING_TERM` settings.
If you press a Mod Tap key, tap another key (press and release) and then release the Mod Tap key, all within the tapping term, it will output the "tapping" function for both keys.
@@ -35,7 +35,7 @@ To enable this setting, add this to your `config.h`:
#define IGNORE_MOD_TAP_INTERRUPT
```
Similar to Permissive Hold, this alters how the firmware processes input for fast typist. If you press a Mod Tap key, press another key, release the Mod Tap key, and then release the normal key, it would normally output the "tapping" function for both keys. This may not be desirable for rolling combo keys.
Similar to Permissive Hold, this alters how the firmware processes inputs for fast typists. If you press a Mod Tap key, press another key, release the Mod Tap key, and then release the normal key, it would normally output the "tapping" function for both keys. This may not be desirable for rolling combo keys.
Setting `Ignore Mod Tap Interrupt` requires holding both keys for the `TAPPING_TERM` to trigger the hold function (the mod).

View File

@@ -139,10 +139,3 @@ https://geekhack.org/index.php?topic=14290.msg1884034#msg1884034
https://github.com/tmk/tmk_keyboard/issues/266
https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778
## FLIP 不工作
### `AtLibUsbDfu.dll` 未找到
从设备管理器中删除当前驱动程序并在设备管理器重新安装一个FLIP提供的程序。
http://imgur.com/a/bnwzy

View File

@@ -46,9 +46,6 @@ Français (法国)标准键盘布局。用键盘的前六个字母命名。
## Firmware(固件)
用来控制单片机的软件。
## FLIP
爱特梅尔(Atmel)提供的AVR器件刷写软件。我们一般推荐 [QMK刷写工具](https://github.com/qmk/qmk_flasher)但是对于一些高级用例需要FLIP。
## git
命令行版本控制软件

View File

@@ -105,10 +105,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/*
* MIDI options
*/

View File

@@ -0,0 +1,17 @@
/* Copyright 2020 cfbender
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "absinthe.h"

View File

@@ -0,0 +1,68 @@
/* Copyright 2020 cfbender
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define XXX KC_NO
#include "quantum.h"
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/
#define LAYOUT_default( \
K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K07, K17, K08, K18, \
K20, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K27, K37, K28, K38, \
K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, \
K60, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K67, K68, \
K80, K81, K82, K83, K76, K86, K87, K77, K88, K78 \
) \
{ \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08 },\
{ K10, K11, K12, K13, K14, K15, K16, K17, K18 },\
{ K20, K21, K22, K23, K24, K25, K26, K27, K28 },\
{ XXX, K31, K32, K33, K34, K35, K36, K37, K38 },\
{ K40, K41, K42, K43, K44, K45, K46, XXX, XXX },\
{ XXX, K51, K52, K53, K54, K55, K56, XXX, XXX },\
{ K60, K61, K62, K63, K64, K65, K66, K67, K68 },\
{ XXX, K71, K72, K73, K74, K75, K76, K77, K78 },\
{ K80, K81, K82, K83, XXX, XXX, K86, K87, K88 } \
}
#define LAYOUT_ansi( \
K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K17, K08, K18, \
K20, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K27, K37, K28, K38, \
K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, \
K60, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K68, \
K80, K81, K82, K83, K85, K76, K86, K87, K77, K88, K78 \
) \
{ \
{ K00, K01, K02, K03, K04, K05, K06, XXX, K08 },\
{ K10, K11, K12, K13, K14, K15, K16, K17, K18 },\
{ K20, K21, K22, K23, K24, K25, K26, K27, K28 },\
{ XXX, K31, K32, K33, K34, K35, K36, K37, K38 },\
{ K40, K41, K42, K43, K44, K45, K46, XXX, XXX },\
{ XXX, K51, K52, K53, K54, K55, K56, XXX, XXX },\
{ K60, K61, K62, K63, K64, K65, K66, XXX, K68 },\
{ XXX, K71, K72, K73, K74, K75, K76, K77, K78 },\
{ K80, K81, K82, K83, XXX, K85, K86, K87, K88 } \
}

102
keyboards/absinthe/config.h Normal file
View File

@@ -0,0 +1,102 @@
/*
Copyright 2020 cfbender
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xB00B
#define PRODUCT_ID 0xFEED
#define DEVICE_VER 0x0001
#define MANUFACTURER cfbender
#define PRODUCT absinthe
#define DESCRIPTION An F-row-less TKL
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 9
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS { D2, D1, B6, D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, D3, D0 }
#define UNUSED_PINS
#define ENCODERS_PAD_A { D5 }
#define ENCODERS_PAD_B { B7 }
#define ENCODER_DIRECTION_FLIP
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
// #define BACKLIGHT_PIN B7
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
#define RGB_DI_PIN B0
#ifdef RGB_DI_PIN
#define RGBLED_NUM 32
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
// #define RGBLIGHT_ANIMATIONS
// /*== or choose animations ==*/
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
// #define RGBLIGHT_EFFECT_SNAKE
// #define RGBLIGHT_EFFECT_KNIGHT
// #define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
// #define RGBLIGHT_EFFECT_RGB_TEST
// #define RGBLIGHT_EFFECT_ALTERNATING
// /*== customize breathing effect ==*/
// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
// /*==== use exp() and sin() ====*/
// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
#endif
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

View File

@@ -0,0 +1,150 @@
{
"keyboard_name": "absinthe",
"url": "https://github.com/cfbender/keyboards/tree/master/absinthe",
"maintainer": "cfbender",
"width": 18.25,
"height": 5,
"layouts": {
"LAYOUT_default": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"!", "x":1, "y":0},
{"label":"@", "x":2, "y":0},
{"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0},
{"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0},
{"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0},
{"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0},
{"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0},
{"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "y":0},
{"label":"Insert", "x":15.25, "y":0},
{"label":"Home", "x":16.25, "y":0},
{"label":"PgUp", "x":17.25, "y":0},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"{", "x":11.5, "y":1},
{"label":"}", "x":12.5, "y":1},
{"label":"Backspace", "x":13.5, "y":1, "w":1.5},
{"label":"Delete", "x":15.25, "y":1},
{"label":"End", "x":16.25, "y":1},
{"label":"PgDn", "x":17.25, "y":1},
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":":", "x":10.75, "y":2},
{"label":"\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
{"label":"Shift", "x":0, "y":3, "w":2.25},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":"<", "x":9.25, "y":3},
{"label":">", "x":10.25, "y":3},
{"label":"?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"MO(1)", "x":14, "y":3},
{"label":"\u2191", "x":16.25, "y":3},
{"label":"Ctrl", "x":0, "y":4, "w":1.5},
{"label":"Win", "x":1.5, "y":4},
{"label":"Alt", "x":2.5, "y":4, "w":1.5},
{"x":4, "y":4, "w":7},
{"label":"Alt", "x":11, "y":4, "w":1.5},
{"label":"Win", "x":12.5, "y":4},
{"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
{"label":"\u2190", "x":15.25, "y":4},
{"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}]
},
"LAYOUT_ansi": {
"layout": [{"label":"Esc", "x":0, "y":0},
{"label":"!", "x":1, "y":0},
{"label":"@", "x":2, "y":0},
{"label":"#", "x":3, "y":0},
{"label":"$", "x":4, "y":0},
{"label":"%", "x":5, "y":0},
{"label":"^", "x":6, "y":0},
{"label":"&", "x":7, "y":0},
{"label":"*", "x":8, "y":0},
{"label":"(", "x":9, "y":0},
{"label":")", "x":10, "y":0},
{"label":"_", "x":11, "y":0},
{"label":"+", "x":12, "y":0},
{"label":"Backspace", "x":13, "y":0, "w":2},
{"label":"Insert", "x":15.25, "y":0},
{"label":"Home", "x":16.25, "y":0},
{"label":"PgUp", "x":17.25, "y":0},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"{", "x":11.5, "y":1},
{"label":"}", "x":12.5, "y":1},
{"label":"|", "x":13.5, "y":1, "w":1.5},
{"label":"Delete", "x":15.25, "y":1},
{"label":"End", "x":16.25, "y":1},
{"label":"PgDn", "x":17.25, "y":1},
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":":", "x":10.75, "y":2},
{"label":"\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
{"label":"Shift", "x":0, "y":3, "w":2.25},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":"<", "x":9.25, "y":3},
{"label":">", "x":10.25, "y":3},
{"label":"?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":2.75},
{"label":"\u2191", "x":16.25, "y":3},
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
{"label":"Win", "x":1.25, "y":4, "w":1.25},
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
{"x":3.75, "y":4, "w":6.25},
{"label":"Alt", "x":10, "y":4, "w":1.25},
{"label":"Win", "x":11.25, "y":4, "w":1.25},
{"label":"Menu", "x":12.5, "y":4, "w":1.25},
{"label":"Ctrl", "x":13.75, "y":4, "w":1.25},
{"label":"\u2190", "x":15.25, "y":4},
{"label":"\u2193", "x":16.25, "y":4},
{"label":"\u2192", "x":17.25, "y":4}]
}
}
}

View File

@@ -0,0 +1,19 @@
/* Copyright 2020 cfbender
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
// place overrides here

View File

@@ -0,0 +1,32 @@
/* Copyright 2020 cfbender
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ansi(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_ansi(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_HUD,RGB_HUI,RGB_SAD,RGB_SAI,RGB_VAD,RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS)
};

View File

@@ -0,0 +1,3 @@
# The all ANSI keymap for absinthe
![default absinthe keymap](https://i.imgur.com/td0vfz0.png)

View File

@@ -0,0 +1,19 @@
/* Copyright 2020 cfbender
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
// place overrides here

View File

@@ -0,0 +1,42 @@
/* Copyright 2020 cfbender
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_default(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL, KC_END, KC_PGDN,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_default(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_HUD,RGB_HUI,RGB_SAD,RGB_SAI,RGB_VAD,RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS)
};
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
}
}

View File

@@ -0,0 +1,6 @@
# The default keymap for absinthe
Tsangan HHKB style with split backspace and split right shift.
![default absinthe keymap](https://i.imgur.com/9Xxx6Rd.png)

View File

@@ -0,0 +1,15 @@
# absinthe
![absinthe](https://i.imgur.com/fK215Tx.jpg)
A budget-friendly F-rowless TKL with a rotary encoder
* Keyboard Maintainer: [cfbender](https://cfbender.design)
* Hardware Supported: Absinthe PCB, Elite-C (for rotary encoder support - alternatively you can use a Pro Micro without an encoder)
* Hardware Availability: [GitHub](https://github.com/cfbender/keyboards/tree/master/absinthe)
Make example for this keyboard (after setting up your build environment):
make absinthe:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@@ -0,0 +1,45 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
# If you don't know the bootloader type, then you can specify the
# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
# Otherwise, delete this section
# Teensy halfKay 512
# Teensy++ halfKay 1024
# Atmel DFU loader 4096
# LUFA bootloader 4096
# USBaspLoader 2048
# OPT_DEFS += -DBOOTLOADER_SIZE=4096
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
ENCODER_ENABLE = yes
RGBLIGHT_ENABLE = yes
# EXTRAFLAGS += -flto

View File

@@ -165,10 +165,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0

View File

@@ -192,10 +192,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/*
* MIDI options
*/

View File

@@ -192,10 +192,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/*
* MIDI options
*/

View File

@@ -2,20 +2,19 @@
#include QMK_KEYBOARD_H
#define ALPH 0
#define LOWR 1
#define RAIS 2
// enum layers {
// ALPH, //alpha qwerty
// LOWR, //layer 1: nav and functions
// RAIS //layer 2: numpad and symbols
// };
enum layers {
ALPH,
GAME,
LOWR,
RAIS,
ADJS
};
// define any macros here to keep keymap clean and readable
#define KM_DLEFT LGUI(LCTL(KC_LEFT))
#define KM_DRIGHT LGUI(LCTL(KC_RIGHT))
#define TSKMGR LCTL(LSFT(KC_ESC))
#define tap_mod_macro(record, mod, macro) ( ((record)->event.pressed) ? \
( ((record)->tap.count <= 0 || (record)->tap.interrupted) ? MACRO(D(mod), END) : MACRO_NONE ) : \
@@ -28,20 +27,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
KC_ESC, KC_TRNS, KC_TRNS, ALT_T(KC_ENT), LT(LOWR, KC_TAB), CTL_T(KC_SPC), SFT_T(KC_BSPC), LT(RAIS, KC_DEL), KC_LGUI, KC_TRNS, KC_QUOT, KC_MINUS
KC_ESC, KC_TRNS, KC_TRNS, ALT_T(KC_ENT), LT(LOWR, KC_TAB), CTL_T(KC_SPC), SFT_T(KC_BSPC), LT(RAIS, KC_DEL), KC_LGUI, TO(GAME), KC_QUOT, KC_MINUS
),
[GAME] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
KC_ESC, KC_TRNS, KC_ENT, KC_LALT, KC_TAB, KC_LCTL, KC_LSFT, KC_DEL, KC_LGUI, TO(ALPH), KC_QUOT, KC_MINUS
),
[LOWR] = LAYOUT(
KC_PSCR, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_LPRN, KC_F7, KC_F8, KC_F9, KC_RPRN,
KC_VOLU, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGUP, KC_LBRC, KC_F4, KC_F5, KC_F6, KC_RBRC,
KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KC_PGDN, LSFT(KC_LBRC), KC_F1, KC_F2, KC_F3, LSFT(KC_RBRC),
KM_DLEFT, KM_DRIGHT, LALT(KC_TAB), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
KM_DLEFT, KM_DRIGHT, LALT(KC_TAB), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(ADJS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[RAIS] = LAYOUT(
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS,
KC_CIRC, KC_AMPR, KC_GRV, KC_TILD, KC_PIPE, KC_PLUS, KC_4, KC_5, KC_6, KC_ASTR,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_MINUS, KC_1, KC_2, KC_3, KC_SLASH,
RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_EQL
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS,
KC_CIRC, KC_AMPR, KC_GRV, KC_TILD, KC_PIPE, KC_PLUS, KC_4, KC_5, KC_6, KC_ASTR,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_MINUS, KC_1, KC_2, KC_3, KC_SLASH,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(ADJS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_EQL
),
[ADJS] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TSKMGR, KC_TRNS, KC_TRNS, KC_F11, KC_F12,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
const uint16_t PROGMEM fn_actions[] = {

View File

@@ -192,10 +192,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/*
* MIDI options
*/

71
keyboards/bat43/info.json Normal file
View File

@@ -0,0 +1,71 @@
{
"keyboard_name": "bat43",
"url": "",
"maintainer": "yfuku",
"width": 15,
"height": 5.1,
"layouts": {
"LAYOUT": {
"layout": [
{"label":"k00", "x":0, "y":1.43},
{"label":"k01", "x":1, "y":1.11},
{"label":"k02", "x":2, "y":0.38},
{"label":"k03", "x":3, "y":0},
{"label":"k04", "x":4, "y":0.05},
{"label":"k05", "x":5, "y":0.16},
{"label":"k40", "x":9, "y":0.16},
{"label":"k41", "x":10, "y":0.05},
{"label":"k42", "x":11, "y":0},
{"label":"k43", "x":12, "y":0.38},
{"label":"k44", "x":13, "y":1.11},
{"label":"k45", "x":14, "y":1.43},
{"label":"k10", "x":0, "y":2.43},
{"label":"k11", "x":1, "y":2.11},
{"label":"k12", "x":2, "y":1.38},
{"label":"k13", "x":3, "y":1},
{"label":"k14", "x":4, "y":1.05},
{"label":"k15", "x":5, "y":1.16},
{"label":"k30", "x":7, "y":1.16},
{"label":"k50", "x":9, "y":1.16},
{"label":"k51", "x":10, "y":1.05},
{"label":"k52", "x":11, "y":1},
{"label":"k53", "x":12, "y":1.38},
{"label":"k54", "x":13, "y":2.11},
{"label":"k55", "x":14, "y":2.43},
{"label":"k20", "x":0, "y":3.43},
{"label":"k21", "x":1, "y":3.11},
{"label":"k22", "x":2, "y":2.38},
{"label":"k23", "x":3, "y":2},
{"label":"k24", "x":4, "y":2.05},
{"label":"k25", "x":5, "y":2.16},
{"label":"k60", "x":9, "y":2.16},
{"label":"k61", "x":10, "y":2.05},
{"label":"k62", "x":11, "y":2},
{"label":"k63", "x":12, "y":2.38},
{"label":"k64", "x":13, "y":3.11},
{"label":"k65", "x":14, "y":3.43},
{"label":"k33", "x":4, "y":3.3},
{"label":"k34", "x":5, "y":3.3},
{"label":"k35", "x":6, "y":3.3},
{"label":"k70", "x":8, "y":3.3},
{"label":"k71", "x":9, "y":3.3},
{"label":"k72", "x":10, "y":3.3},
{"label":"k74", "x":5.1, "y":4.3, "w":0.8, "h":0.8},
{"label":"k75", "x":6.1, "y":4.3, "w":0.8, "h":0.8},
{"label":"k73", "x":8.1, "y":4.3, "w":0.8, "h":0.8},
{"label":"k31", "x":9.1, "y":4.3, "w":0.8, "h":0.8},
{"label":"k32", "x":10.1, "y":4.3, "w":0.8, "h":0.8}
]
}
}
}

View File

@@ -0,0 +1,55 @@
/*
Copyright 2020 mechmerlin
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x6969
#define PRODUCT_ID 0x0001
#define DEVICE_VER 0x0001
#define MANUFACTURER botanicalkeyboards
#define PRODUCT fm2u
#define DESCRIPTION A 1 key macropad
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
/* Keyboard Matrix Assignments */
#define DIRECT_PINS { \
{ C4 } \
}
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

View File

@@ -0,0 +1,17 @@
/* Copyright 2020 mechmerlin
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "fm2u.h"

View File

@@ -0,0 +1,46 @@
/* Copyright 2020 mechmerlin
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/
#define LAYOUT_100u( \
k00 \
) \
{ \
{ k00 } \
}
#define LAYOUT_125u LAYOUT_100u
#define LAYOUT_150u LAYOUT_100u
#define LAYOUT_175u LAYOUT_100u
#define LAYOUT_200u LAYOUT_100u
#define LAYOUT_225u LAYOUT_100u
#define LAYOUT_275u LAYOUT_100u
#define LAYOUT_300u LAYOUT_100u
#define LAYOUT_600u LAYOUT_100u
#define LAYOUT_625u LAYOUT_100u
#define LAYOUT_700u LAYOUT_100u
#define LAYOUT_iso LAYOUT_100u

View File

@@ -0,0 +1,56 @@
{
"keyboard_name": "fm2u",
"url": "",
"maintainer": "qmk",
"width": 1,
"height": 1,
"layouts": {
"LAYOUT_100u": {
"layout": [{"x":0, "y":0}]
},
"LAYOUT_125u": {
"layout": [{"x":0, "y":0, "w":1.25}]
},
"LAYOUT_150u": {
"layout": [{"x":0, "y":0, "w":1.50}]
},
"LAYOUT_175u": {
"layout": [{"x":0, "y":0, "w":1.75}]
},
"LAYOUT_200u": {
"layout": [{"x":0, "y":0, "w":2.00}]
},
"LAYOUT_225u": {
"layout": [{"x":0, "y":0, "w":2.25}]
},
"LAYOUT_275u": {
"layout": [{"x":0, "y":0, "w":2.75}]
},
"LAYOUT_300u": {
"layout": [{"x":0, "y":0, "w":3.00}]
},
"LAYOUT_600u": {
"layout": [{"x":0, "y":0, "w":6.00}]
},
"LAYOUT_625u": {
"layout": [{"x":0, "y":0, "w":6.25}]
},
"LAYOUT_700u": {
"layout": [{"x":0, "y":0, "w":7.00}]
},
"LAYOUT_iso": {
"layout": [{"x":0.25, "y":0, "w":1.25, "h":2}]
}
}
}

View File

@@ -0,0 +1,25 @@
/* Copyright 2020 mechmerlin
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[0] = LAYOUT_100u(
KC_B
)
};

View File

@@ -0,0 +1,37 @@
/* Copyright 2020 mechmerlin
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[0] = LAYOUT_100u(
KC_B
),
[1] = LAYOUT_100u(
KC_TRNS
),
[2] = LAYOUT_100u(
KC_TRNS
),
[3] = LAYOUT_100u(
KC_TRNS
),
};

View File

@@ -0,0 +1,4 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
EXTRAKEY_ENABLE = no

View File

@@ -0,0 +1,13 @@
# fm2u
A 1 key macropad with USB C and atmega32u2 microcontroller.
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
* Hardware Supported: fm2u PCB
* Hardware Availability: TBD
Make example for this keyboard (after setting up your build environment):
make botanicalkeyboards/fm2u:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@@ -0,0 +1,32 @@
# MCU name
MCU = atmega32u2
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs

View File

@@ -193,10 +193,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/*
* MIDI options
*/

View File

@@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
#define VENDOR_ID 0xFEED
#define VENDOR_ID 0x6B62
#define PRODUCT_ID 0x1769
#define DEVICE_VER 0x0001
#define MANUFACTURER coseyfannitutti
@@ -243,7 +243,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#endif
*/
/* Bootmagic Lite key configuration
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0
*/

View File

@@ -0,0 +1,43 @@
/* Copyright 2019 COSEYFANNITUTTI
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_numpad_5x4(
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9,
KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_P1, KC_P2, KC_P3,
KC_P0, KC_PDOT, KC_PENT ),
[1] = LAYOUT_numpad_5x4(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS ),
[2] = LAYOUT_numpad_5x4(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS ),
[3] = LAYOUT_numpad_5x4(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS ),
};

View File

@@ -0,0 +1,4 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
EXTRAKEY_ENABLE = no
MOUSEKEY_ENABLE = no

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
#define VENDOR_ID 0xFEED
#define VENDOR_ID 0x6B62
#define PRODUCT_ID 0x8769
#define DEVICE_VER 0x0001
#define MANUFACTURER coseyfannitutti
@@ -237,4 +237,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LCD_E_PORT LCD_PORT //< port for Enable line
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
*/
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0

View File

@@ -0,0 +1,50 @@
/* Copyright 2019 COSEYFANNITUTTI
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_tkl_ansi(
KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_tkl_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS),
[2] = LAYOUT_tkl_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[3] = LAYOUT_tkl_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};

View File

@@ -0,0 +1,4 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
EXTRAKEY_ENABLE = no
MOUSEKEY_ENABLE = no

View File

@@ -193,10 +193,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/*
* MIDI options
*/

View File

@@ -24,11 +24,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define USE_I2C
#define USE_SERIAL
#ifdef USE_Link_Time_Optimization
// LTO has issues with macros (action_get_macro) and "functions" (fn_actions),
// so just disable them
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#define DISABLE_LEADER
#endif // USE_Link_Time_Optimization
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION

View File

@@ -192,10 +192,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/*
* MIDI options
*/

View File

@@ -33,10 +33,8 @@
#define DEBOUNCE 3
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
# define NO_ACTION_MACRO
# define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects

View File

@@ -33,10 +33,8 @@
#define DEBOUNCE 3
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
# define NO_ACTION_MACRO
# define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects

View File

@@ -33,10 +33,8 @@
#define DEBOUNCE 3
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
# define NO_ACTION_MACRO
# define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects

View File

@@ -33,10 +33,8 @@
#define DEBOUNCE 3
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
# define NO_ACTION_MACRO
# define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects

View File

@@ -33,10 +33,8 @@
#define DEBOUNCE 3
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
# define NO_ACTION_MACRO
# define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects

View File

@@ -33,10 +33,8 @@
#define DEBOUNCE 3
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
# define NO_ACTION_MACRO
# define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects

View File

@@ -29,10 +29,8 @@
#define DIODE_DIRECTION COL2ROW
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
# define NO_ACTION_MACRO
# define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#ifdef RGB_MATRIX_ENABLE
# define RGB_MATRIX_LED_PROCESS_LIMIT 4

View File

@@ -29,10 +29,8 @@
#define DIODE_DIRECTION COL2ROW
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
# define NO_ACTION_MACRO
# define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#ifdef RGB_MATRIX_ENABLE
# define RGB_MATRIX_LED_PROCESS_LIMIT 4

View File

@@ -1,7 +1,6 @@
#pragma once
#include QMK_KEYBOARD_CONFIG_H
#include "333fred_config.h"
#define USE_SERIAL
#define MASTER_LEFT

View File

@@ -1,7 +1,5 @@
BACKLIGHT_ENABLE = no
RGBLIGHT_ENABLE = yes
AUDIO_ENABLE = no
NKRO_ENABLE = yes
KEY_LOCK_ENABLE = yes
TAP_DANCE_ENABLE = yes
CONSOLE_ENABLE = no

View File

@@ -25,9 +25,7 @@
# define NO_PRINT
#endif
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
# define NO_ACTION_MACRO
# define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#undef RGBLIGHT_ANIMATIONS

View File

@@ -0,0 +1,98 @@
#include QMK_KEYBOARD_H
enum layer_names {
_BASE,
_LOWER,
_RAISE,
_ADJUST
};
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
#define ADJUST MO(_ADJUST)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_ergodox(
// left hand
_______, _______, _______, _______, _______, _______, _______,
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, LGUI(KC_LCTL),
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G,
KC_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, LGUI(KC_LALT),
_______, _______, _______, _______, LOWER,
KC_LGUI, _______,
_______,
KC_ENT, RGUI(KC_RCTL), _______,
// right hand
_______, _______, _______, _______, _______, _______, _______,
RGUI(KC_RCTL), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_H, KC_J, KC_K, KC_L, KC_RSFT, KC_RGUI,
RGUI(KC_RALT), KC_N, KC_M, KC_RCTL, KC_DOT, KC_RALT, RGUI(KC_RSFT),
RAISE, _______, _______, _______, _______,
_______, KC_RGUI,
_______,
_______, KC_BSPC, KC_ENT
),
[_LOWER] = LAYOUT_ergodox(
// left hand
_______, _______, _______, _______, _______, _______, _______,
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
_______, KC_LT, KC_GT, KC_LPRN, KC_RPRN, KC_GRV,
KC_LALT, _______, _______, _______, KC_EQL, KC_QUES, _______,
_______, _______, _______, _______, _______,
_______, _______,
_______,
KC_NO, KC_NO, _______,
// right hand
_______, _______, _______, _______, _______, _______, _______,
KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, _______, _______, _______,
KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_PIPE,
KC_NO, KC_UNDS, KC_PLUS, KC_COMM, _______, KC_SLSH, _______,
KC_RGUI, _______, _______, _______, _______,
_______, KC_NO,
_______,
_______, KC_NO, KC_NO
),
[_RAISE] = LAYOUT_ergodox(
// left hand
_______, _______, _______, _______, _______, _______, _______,
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, _______,
KC_NO, KC_COLN, KC_SCLN, KC_DQT, KC_QUOT, KC_BSLS,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, KC_LGUI,
_______, _______,
_______,
KC_NO, KC_NO, _______,
// right hand
_______, _______, _______, _______, _______, _______, KC_NO,
KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_NO,
_______, ADJUST, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______,
_______, KC_NO,
_______,
_______, KC_NO, KC_NO
),
[_ADJUST] = LAYOUT_ergodox(
// left hand
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, RESET, _______,
_______, _______, _______, _______, KC_LGUI,
_______, _______,
_______,
KC_NO, KC_NO, _______,
// right hand
_______, _______, _______, _______, _______, _______, _______,
KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______,
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, _______, _______, _______, _______, KC_LANG1, KC_LANG2,
_______, _______, _______, _______, _______,
_______, KC_NO,
_______,
_______, KC_NO, KC_NO
)
};

View File

@@ -192,10 +192,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/*
* MIDI options
*/

View File

@@ -1,7 +1,5 @@
#pragma once
#include "333fred_config.h"
#define USE_SERIAL
#define EE_HANDS

View File

@@ -1,12 +1,6 @@
#include QMK_KEYBOARD_H
#include "333fred.h"
enum custom_macros {
DLEFT,
DRIGHT,
PSCREEN_APP
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[BASE] = LAYOUT_5x6(

View File

@@ -1,7 +1,3 @@
NKRO_ENABLE = yes
KEY_LOCK_ENABLE = yes
TAP_DANCE_ENABLE = yes
CONSOLE_ENABLE = no
PERMISSIVE_HOLD = yes
EXTRAFLAGS += -flto

View File

@@ -0,0 +1,39 @@
/* Copyright 2019 Spaceman
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0xB195
#define DEVICE_VER 0x0001
#define MANUFACTURER Spaceman
#define PRODUCT DDG_56
#define DESCRIPTION DDG_56
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define DIODE_DIRECTION COL2ROW
#define MATRIX_ROW_PINS { B5, B15, B9, B10, A14 }
#define MATRIX_COL_PINS { A2, B8, B13, B14, B4, B11, B12, A13, A15, A8, A7, A6, B0, B1 }
#define QMK_SPEAKER A5
#define ENCODERS_PAD_A { A1, B3 }
#define ENCODERS_PAD_B { A0, B2 }

View File

@@ -0,0 +1,16 @@
/* Copyright 2019 Spaceman
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ddg_56.h"

View File

@@ -0,0 +1,32 @@
/* Copyright 2019 Spaceman
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define LAYOUT( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k1D, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2D, k3D, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k4B, \
k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4C, k4D \
) \
{ \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D }, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D }, \
{ k30, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D } \
}

View File

@@ -0,0 +1,17 @@
{
"keyboard_name": "ddg_56",
"url": "",
"maintainer": "spaceman",
"width": 16.5,
"height": 5.25,
"layouts": {
"LAYOUT": {
"layout": [
{"x":0, "y":0.25}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"x":8.25, "y":0}, {"x":9.25, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":14, "y":1}, {"x":15, "y":1},
{"x":0, "y":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1}, {"x":12.25, "y":1}, {"x":14, "y":2}, {"x":15, "y":2},
{"x":0, "y":2.25}, {"x":1.25, "y":2}, {"x":2.25, "y":2}, {"x":3.25, "y":2}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2},
{"x":0, "y":3.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3},
{"x":14.5, "y":3.25}, {"x":1.3333, "y":4, "w":1.5}, {"x":2.8333, "y":4}, {"x":3.8333, "y":4, "w":1.25}, {"x":5.0833, "y":4}, {"x":6.0833, "y":4, "w":2.25}, {"x":8.3333, "y":4}, {"x":9.3333, "y":4, "w":1.25}, {"x":10.5833, "y":4}, {"x":11.5833, "y":4, "w":1.5}, {"x":13.5, "y":4.25}, {"x":14.5, "y":4.25}, {"x":15.5, "y":4.25}]
}
}
}

View File

@@ -0,0 +1,35 @@
#include QMK_KEYBOARD_H
enum layers {
_DEFAULT,
_LOWER,
_RAISE
};
#define LOWER LT(2,KC_BSPC)
#define RAISE LT(1,KC_ENT)
#define KC_DSPACE SFT_T(KC_SPC)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DEFAULT] = LAYOUT(
KC_HOME, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_MINS, KC_EQL,
KC_PGUP, KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_LBRC, KC_RBRC,
KC_PGDN, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_END, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, RAISE, KC_DSPACE, LOWER, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[_RAISE] = LAYOUT(
KC_HOME, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_PGUP, KC_HOME,
KC_PGUP, KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_TRNS, KC_PGDN, KC_END,
KC_PGDN, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT),
[_LOWER] = LAYOUT(
RESET, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT)
};

View File

@@ -0,0 +1,9 @@
# DDG-56
* Keyboard Maintainer: [Rionlion100](https://github.com/rionlion100)
Make example for this keyboard (after setting up your build environment):
make handwired/ddg_56:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@@ -0,0 +1,17 @@
# MCU name
MCU = STM32F303
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = no # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode

View File

@@ -31,7 +31,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROWS 8
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B0, B1, B2, B3, E6, B7, D0, D1 }
#define MATRIX_COL_PINS { D2, D3, C6, C7, D5, D4, D6, D7, B4, B5, B6, F7, F6, F5, F4, F1 }
#define UNUSED_PINS
@@ -39,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
@@ -130,7 +128,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define MAGIC_KEY_NKRO N
//#define MAGIC_KEY_SLEEP_LED Z
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION

View File

@@ -192,10 +192,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/*
* MIDI options
*/

View File

@@ -195,10 +195,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/*
* MIDI options
*/

View File

@@ -0,0 +1,60 @@
/*
Copyright 2020 Jose I. Martinez
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0000
#define DEVICE_VER 0x0001
#define MANUFACTURER Jose I. Martinez
#define PRODUCT novem
#define DESCRIPTION A custom keyboard
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS { E6, B4, B5 }
#define MATRIX_COL_PINS { B3, B2, B6 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

View File

@@ -0,0 +1,18 @@
{
"keyboard_name": "novem",
"url": "",
"maintainer": "Jose I. Martinez",
"width": 3,
"height": 2,
"layouts": {
"LAYOUT": {
"layout": [
{"label":"k00", "x":0, "y":0},
{"label":"k01", "x":1, "y":0},
{"label":"k02", "x":2, "y":0},
{"label":"k10", "x":0, "y":1, "w":1.5},
{"label":"k12", "x":1.5, "y":1, "w":1.5}
]
}
}
}

View File

@@ -0,0 +1,77 @@
/* Copyright 2020 Jose I. Martinez
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_FN
};
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
GITSTTS = SAFE_RANGE,
GITPULL,
GITPUSH,
GITCOM
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
KC_ESCAPE, KC_HOME, KC_DEL,
MO(_FN) , KC_UP , KC_ENTER,
KC_LEFT , KC_DOWN, KC_RIGHT
),
[_FN] = LAYOUT(
KC_TRNS, GITCOM, GITPUSH,
KC_TRNS, GITSTTS, GITPULL,
KC_TRNS, KC_TRNS, KC_TRNS
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case GITSTTS:
if (record->event.pressed) {
// when keycode GITSTTS is pressed
SEND_STRING("git status");
}
break;
case GITPULL:
if (record->event.pressed) {
// when keycode GITPULL is pressed
SEND_STRING("git pull");
}
break;
case GITPUSH:
if (record->event.pressed) {
// when keycode GITPUSH is pressed
SEND_STRING("git push");
}
break;
case GITCOM:
if (record->event.pressed) {
// when keycode GITCOM is pressed
SEND_STRING("git commit -m ");
}
break;
default:
return true;
}
return true;
}

View File

@@ -0,0 +1 @@
# The default keymap for novem

View File

@@ -0,0 +1,18 @@
/* Copyright 2020 Jose I. Martinez
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "novem.h"

View File

@@ -0,0 +1,31 @@
/* Copyright 2020 Jose I. Martinez
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define LAYOUT( \
k00, k01, k02, \
k03, k04, k05, \
k06, k07, k08 \
) \
{ \
{ k00, k01, k02 }, \
{ k03, k04, k05 }, \
{ k06, k07, k08 }, \
}

View File

@@ -0,0 +1,16 @@
# novem
![novem](https://i.imgur.com/nPjBE9b.jpg)
A short description of the keyboard/project
* Keyboard Maintainer: [Jose I. Martinez](https://github.com/mechanicalguy21)
* Hardware Supported: This is a handwired keyboard created over a 3d printed case.
STL will be shared soon.
* Hardware Availability: STL files will be shared soon.
Make example for this keyboard (after setting up your build environment):
make handwired/novem:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@@ -0,0 +1,32 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = no # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs

View File

@@ -194,10 +194,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
# define NO_ACTION_MACRO
# define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/*
* MIDI options
*/

View File

@@ -130,10 +130,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0

View File

@@ -45,8 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F0, F1, F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, B5, B4, B3, B2 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define DIODE_DIRECTION EITHERWAY
#define BACKLIGHT_PIN B7
#define BACKLIGHT_BREATHING

Some files were not shown because too many files have changed in this diff Show More