Signed-off-by: Gergely Nagy <algernon@keyboard.io>pull/491/head
parent
d6cbd0e890
commit
f527591b57
@ -0,0 +1,5 @@
|
||||
# Kaleidoscope-Hardware-SOFTHRUF-Splitography
|
||||
|
||||
Hardware support for the [SOFTHRUF Splitography][splitography] Steno keyboard.
|
||||
|
||||
[splitography]: https://softhruf.love/collections/writers
|
@ -0,0 +1,25 @@
|
||||
flash_over_usb() {
|
||||
sleep 1s
|
||||
|
||||
dfu-programmer ${MCU} erase
|
||||
dfu-programmer ${MCU} flash "${HEX_FILE_PATH}"
|
||||
dfu-programmer ${MCU} start
|
||||
}
|
||||
|
||||
flash () {
|
||||
prepare_to_flash
|
||||
|
||||
# This is defined in the (optional) user config.
|
||||
# shellcheck disable=SC2154
|
||||
${preFlash_HOOKS}
|
||||
|
||||
flash_over_usb || flash_over_usb
|
||||
|
||||
# This is defined in the (optional) user config.
|
||||
# shellcheck disable=SC2154
|
||||
${postFlash_HOOKS}
|
||||
}
|
||||
|
||||
NO_RESET=1
|
||||
DEFAULT_SKETCH="Splitography"
|
||||
BOARD="splitography"
|
@ -0,0 +1,52 @@
|
||||
# This stub makefile for a Kaleidoscope example pulls in all the targets
|
||||
# required to build the example
|
||||
|
||||
UNAME_S := $(shell uname -s)
|
||||
|
||||
ifeq ($(UNAME_S),Darwin)
|
||||
SKETCHBOOK_DIR ?= $(HOME)/Documents/Arduino
|
||||
PACKAGE_DIR ?= $(HOME)/Library/Arduino15
|
||||
else
|
||||
SKETCHBOOK_DIR ?= $(HOME)/Arduino
|
||||
PACKAGE_DIR ?= $(HOME)/.arduino15
|
||||
endif
|
||||
|
||||
|
||||
ARDUINO_INSTALLED_ENV=$(shell ls -dt $(PACKAGE_DIR)/packages/keyboardio/hardware/avr 2>/dev/null |head -n 1)
|
||||
MANUALLY_INSTALLED_ENV=$(shell ls -dt $(SKETCHBOOK_DIR)/hardware/keyboardio/avr 2>/dev/null |head -n 1)
|
||||
|
||||
|
||||
|
||||
ifneq ("$(wildcard $(ARDUINO_INSTALLED_ENV)/boards.txt)","")
|
||||
|
||||
ifneq ("$(wildcard $(MANUALLY_INSTALLED_ENV)/boards.txt)","")
|
||||
|
||||
$(info ***************************************************************************)
|
||||
$(info It appears that you have installed two copies of Kaleidoscope. One copy was)
|
||||
$(info installed using Arduino's "Board Manager", while the other was installed by)
|
||||
$(info hand, probably using "git".)
|
||||
$(info )
|
||||
$(info This will likely cause some trouble as you try to build keyboard firmware)
|
||||
$(info using Kaleidoscope. You may want to remove either: )
|
||||
$(info )
|
||||
$(info $(PACKAGE_DIR)/packages/keyboardio/ which was installed using Arduino)
|
||||
$(info )
|
||||
$(info or)
|
||||
$(info )
|
||||
$(info $(SKETCHBOOK_DIR)/hardware/keyboardio/ which was installed by hand.)
|
||||
$(info )
|
||||
$(info ***************************************************************************)
|
||||
$(info )
|
||||
|
||||
endif
|
||||
|
||||
BOARD_HARDWARE_PATH = $(ARDUINO_INSTALLED_ENV)
|
||||
KALEIDOSCOPE_PLUGIN_MAKEFILE_DIR ?= build-tools/makefiles/
|
||||
KALEIDOSCOPE_BUILDER_DIR ?= $(ARDUINO_INSTALLED_ENV)/libraries/Kaleidoscope/bin/
|
||||
|
||||
endif
|
||||
|
||||
BOARD_HARDWARE_PATH ?= $(SKETCHBOOK_DIR)/hardware
|
||||
KALEIDOSCOPE_PLUGIN_MAKEFILE_DIR ?= keyboardio/avr/build-tools/makefiles/
|
||||
|
||||
include $(BOARD_HARDWARE_PATH)/$(KALEIDOSCOPE_PLUGIN_MAKEFILE_DIR)/rules.mk
|
@ -0,0 +1,59 @@
|
||||
/* -*- mode: c++ -*-
|
||||
* Splitography -- A very basic Kaleidoscope example for the SOFT/HRUF Splitography keyboard
|
||||
* Copyright (C) 2018 Keyboard.io, Inc
|
||||
*
|
||||
* 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, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include "Kaleidoscope.h"
|
||||
#include "Kaleidoscope-Steno.h"
|
||||
|
||||
enum {
|
||||
_STENO,
|
||||
};
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
KEYMAPS(
|
||||
|
||||
/* Steno (GeminiPR)
|
||||
* ,-----------------------. ,-----------------------.
|
||||
* | # | # | # | # | # | # | | # | # | # | # | # | # |
|
||||
* |---+---+---+---+---+---| |---+---+---+---+---+---|
|
||||
* | | S | T | P | H | * | | * | F | P | L | T | D |
|
||||
* |---+---+---+---+---+---| |---+---+---+---+---+---|
|
||||
* | | S | K | W | R | * | | * | R | B | G | S | Z |
|
||||
* `-------------+---+---+-' `-+---+---+-------------'
|
||||
* | A | O | | E | U |
|
||||
* `-------' `-------'
|
||||
*/
|
||||
[_STENO] = KEYMAP(
|
||||
S(N1) ,S(N2) ,S(N3) ,S(N4) ,S(N5) ,S(N6) ,S(N7) ,S(N8) ,S(N9) ,S(NA) ,S(NB) ,S(NC)
|
||||
,XXX ,S(S1) ,S(TL) ,S(PL) ,S(HL) ,S(ST1) ,S(ST3) ,S(FR) ,S(PR) ,S(LR) ,S(TR) ,S(DR)
|
||||
,XXX ,S(S2) ,S(KL) ,S(WL) ,S(RL) ,S(ST2) ,S(ST4) ,S(RR) ,S(BR) ,S(GR) ,S(SR) ,S(ZR)
|
||||
,S(A) ,S(O) ,S(E) ,S(U)
|
||||
)
|
||||
);
|
||||
/* *INDENT-ON* */
|
||||
|
||||
KALEIDOSCOPE_INIT_PLUGINS(GeminiPR);
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600);
|
||||
Kaleidoscope.setup();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
Kaleidoscope.loop();
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
/* -*- mode: c++ -*-
|
||||
* Kaleidoscope-Hardware-SOFTHRUF-Splitography -- Splitography hardware support for Kaleidoscope
|
||||
* Copyright (C) 2018 Keyboard.io, Inc
|
||||
*
|
||||
* 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 3 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 KALEIDOSCOPE_WITH_ATMEGA_KEYBOARD 1
|
||||
#include "kaleidoscope/hardware/softhruf/Splitography.h"
|
@ -0,0 +1,44 @@
|
||||
/* -*- mode: c++ -*-
|
||||
* Kaleidoscope-Hardware-SOFTHRUF-Splitography -- Splitography hardware support for Kaleidoscope
|
||||
* Copyright (C) 2018 Keyboard.io, Inc
|
||||
*
|
||||
* Based on QMK (commit e9a67f8fd) and sdothum's fork (commit 8616b44)
|
||||
* (C) Jack Humbert, Jun Wako, Steven Hum, and others
|
||||
* Original QMK sources:
|
||||
* - keyboards/splitography/config.h
|
||||
* - keyboards/splitography/splitography.h
|
||||
*
|
||||
* 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 3 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/>.
|
||||
*/
|
||||
|
||||
#ifdef ARDUINO_AVR_SPLITOGRAPHY
|
||||
|
||||
#include <Kaleidoscope.h>
|
||||
#include <avr/wdt.h>
|
||||
|
||||
namespace kaleidoscope {
|
||||
namespace hardware {
|
||||
namespace softhruf {
|
||||
|
||||
ATMEGA_KEYBOARD_DATA(Splitography);
|
||||
constexpr int8_t Splitography::led_count;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HARDWARE_IMPLEMENTATION KeyboardHardware;
|
||||
kaleidoscope::hardware::softhruf::Splitography &Splitography = KeyboardHardware;
|
||||
|
||||
#endif
|
@ -0,0 +1,92 @@
|
||||
/* -*- mode: c++ -*-
|
||||
* Kaleidoscope-Hardware-SOFTHRUF-Splitography -- Splitography hardware support for Kaleidoscope
|
||||
* Copyright (C) 2018 Keyboard.io, Inc
|
||||
*
|
||||
* Based on QMK (commit e9a67f8fd) and sdothum's fork (commit 8616b44)
|
||||
* (C) Jack Humbert, Jun Wako, Steven Hum, and others
|
||||
* Original QMK sources:
|
||||
* - keyboards/splitography/config.h
|
||||
* - keyboards/splitography/splitography.h
|
||||
*
|
||||
* 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 3 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
|
||||
|
||||
#ifdef ARDUINO_AVR_SPLITOGRAPHY
|
||||
|
||||
#include <Arduino.h>
|
||||
#define HARDWARE_IMPLEMENTATION kaleidoscope::hardware::softhruf::Splitography
|
||||
#include "Kaleidoscope-HIDAdaptor-KeyboardioHID.h"
|
||||
|
||||
#include "kaleidoscope/macro_helpers.h"
|
||||
#include "kaleidoscope/hardware/avr/pins_and_ports.h"
|
||||
|
||||
#include "kaleidoscope/hardware/ATMegaKeyboard.h"
|
||||
|
||||
namespace kaleidoscope {
|
||||
namespace hardware {
|
||||
namespace softhruf {
|
||||
class Splitography: public kaleidoscope::hardware::ATMegaKeyboard {
|
||||
public:
|
||||
Splitography(void) {}
|
||||
|
||||
ATMEGA_KEYBOARD_CONFIG(
|
||||
ROW_PIN_LIST({ PIN_D0, PIN_D1, PIN_D2, PIN_D3 }),
|
||||
COL_PIN_LIST({ PIN_F0, PIN_F1, PIN_F4, PIN_F5, PIN_F6, PIN_F7, PIN_C7, PIN_C6, PIN_B6, PIN_B5, PIN_B4, PIN_D7 })
|
||||
);
|
||||
|
||||
static constexpr int8_t led_count = 0;
|
||||
};
|
||||
|
||||
#define KEYMAP( \
|
||||
r0c0 ,r0c1 ,r0c2 ,r0c3 ,r0c4 ,r0c5 ,r0c6 ,r0c7 ,r0c8 ,r0c9 ,r0c10 ,r0c11 \
|
||||
,r1c0 ,r1c1 ,r1c2 ,r1c3 ,r1c4 ,r1c5 ,r1c6 ,r1c7 ,r1c8 ,r1c9 ,r1c10 ,r1c11 \
|
||||
,r2c0 ,r2c1 ,r2c2 ,r2c3 ,r2c4 ,r2c5 ,r2c6 ,r2c7 ,r2c8 ,r2c9 ,r2c10 ,r2c11 \
|
||||
,r3c4 ,r3c5 ,r3c6 ,r3c7 \
|
||||
) \
|
||||
{ \
|
||||
{ r0c0 ,r0c1 ,r0c2 ,r0c3 ,r0c4 ,r0c5 , r0c6 ,r0c7 ,r0c8 ,r0c9 ,r0c10 ,r0c11 }, \
|
||||
{ r1c0 ,r1c1 ,r1c2 ,r1c3 ,r1c4 ,r1c5 , r1c6 ,r1c7 ,r1c8 ,r1c9 ,r1c10 ,r1c11 }, \
|
||||
{ r2c0 ,r2c1 ,r2c2 ,r2c3 ,r2c4 ,r2c5 , r2c6 ,r2c7 ,r2c8 ,r2c9 ,r2c10 ,r2c11 }, \
|
||||
{ XXX ,XXX ,XXX ,XXX ,r3c4 ,r3c5 ,r3c6 ,r3c7 ,XXX ,XXX ,XXX ,XXX } \
|
||||
}
|
||||
|
||||
#define KEYMAP_STACKED( \
|
||||
r0c0 ,r0c1 ,r0c2 ,r0c3 ,r0c4 ,r0c5 \
|
||||
,r1c0 ,r1c1 ,r1c2 ,r1c3 ,r1c4 ,r1c5 \
|
||||
,r2c0 ,r2c1 ,r2c2 ,r2c3 ,r2c4 ,r2c5 \
|
||||
,r3c4 ,r3c5 \
|
||||
\
|
||||
,r0c6 ,r0c7 ,r0c8 ,r0c9 ,r0c10 ,r0c11 \
|
||||
,r1c6 ,r1c7 ,r1c8 ,r1c9 ,r1c10 ,r1c11 \
|
||||
,r2c6 ,r2c7 ,r2c8 ,r2c9 ,r2c10 ,r2c11 \
|
||||
,r3c6 ,r3c7 \
|
||||
) \
|
||||
{ \
|
||||
{ r0c0 ,r0c1 ,r0c2 ,r0c3 ,r0c4 ,r0c5 , r0c6 ,r0c7 ,r0c8 ,r0c9 ,r0c10 ,r0c11 }, \
|
||||
{ r1c0 ,r1c1 ,r1c2 ,r1c3 ,r1c4 ,r1c5 , r1c6 ,r1c7 ,r1c8 ,r1c9 ,r1c10 ,r1c11 }, \
|
||||
{ r2c0 ,r2c1 ,r2c2 ,r2c3 ,r2c4 ,r2c5 , r2c6 ,r2c7 ,r2c8 ,r2c9 ,r2c10 ,r2c11 }, \
|
||||
{ XXX ,XXX ,XXX ,XXX ,r3c4 ,r3c5 ,r3c6 ,r3c7 ,XXX ,XXX ,XXX ,XXX } \
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#include "kaleidoscope/hardware/key_indexes.h"
|
||||
|
||||
extern kaleidoscope::hardware::softhruf::Splitography &Splitography;
|
||||
|
||||
#endif
|
Loading…
Reference in new issue