diff --git a/.github/workflows/firmware_build.yml b/.github/workflows/firmware_build.yml new file mode 100755 index 000000000000..26bc61d1f0e0 --- /dev/null +++ b/.github/workflows/firmware_build.yml @@ -0,0 +1,69 @@ +name: Build QMK firmware +on: + push: + branches: + - main + - master + - 'develop**' + - github-actions-build +jobs: + gather-keyboards: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + steps: + - uses: actions/checkout@v3 + with: + repository: ${{ github.repository}} + ref: ${{ github.ref }} + - id: set-matrix + run: | + content=$(bash bin/fp_build.sh -l | sed s~keyboards/fingerpunch/~~| jq -Rsc '. / "\n" - [""]') + content="{\"keyboard\":$content}" + echo "::set-output name=matrix::$content" + + Build: + needs: gather-keyboards + runs-on: ubuntu-latest + container: qmkfm/qmk_cli + strategy: + fail-fast: false + matrix: ${{fromJson(needs.gather-keyboards.outputs.matrix)}} + steps: + - name: Checkout QMK + uses: actions/checkout@v3 + with: + repository: ${{ github.repository}} + ref: ${{ github.ref }} + submodules: recursive + + - name: Build firmware + shell: bash + run: | + wget -q https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 -O jq + chmod +x jq + mv jq /usr/local/sbin/ + + keyboards=$(bash bin/fp_build.sh -l| sed s~keyboards/fingerpunch/~~) + + echo "${keyboards}" | while IFS= read -r line ; do + case "$line" in + *${{ matrix.keyboard }}*) + echo "Building for ${line}" + make_command="bin/fp_build.sh -k ${line} -r" + echo "${make_command}" + $make_command + ;; + esac + done + + - name: Archive firmware + uses: actions/upload-artifact@v3 + continue-on-error: true + with: + name: qmk_fingerpunch_${{ github.actor }} + path: | + *.hex + *.bin + *.uf2 + diff --git a/.gitignore b/.gitignore index 51b0a38e0a50..e45bf3ed7ba3 100644 --- a/.gitignore +++ b/.gitignore @@ -94,4 +94,7 @@ compile_commands.json .cache/ # VIA(L) json files that don't belong in QMK repo -via*.json +# via*.json + +# Sadek additions +.vscode/settings.json diff --git a/bin/build-absolem.sh b/bin/build-absolem.sh deleted file mode 100755 index 57cf811aeb17..000000000000 --- a/bin/build-absolem.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -make absolem:sadekbaroudi -cp .build/absolem_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/absolem diff --git a/bin/build-adux.sh b/bin/build-adux.sh deleted file mode 100755 index 883bf8db4e0d..000000000000 --- a/bin/build-adux.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -#cp keyboards/fingerpunch/barobord/rules-oled.mk keyboards/fingerpunch/barobord/rules.mk -make a_dux:sadekbaroudi ; cp .build/a_dux_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/a_dux/ ; -#rm keyboards/fingerpunch/barobord/rules.mk diff --git a/bin/build-barobord-default.sh b/bin/build-barobord-default.sh deleted file mode 100755 index d557449d0d18..000000000000 --- a/bin/build-barobord-default.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -make fingerpunch/barobord:default -cp .build/fingerpunch_barobord_default* /mnt/g/My\ Drive/qmk-keyboards/barobord-default/ diff --git a/bin/build-barobord-oled.sh b/bin/build-barobord-oled.sh deleted file mode 100755 index ee62ce6ac5ed..000000000000 --- a/bin/build-barobord-oled.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/barobord/rules.mk keyboards/fingerpunch/barobord/rules.mk.bak -cp keyboards/fingerpunch/barobord/rules-oled.mk keyboards/fingerpunch/barobord/rules.mk -make fingerpunch/barobord:sadekbaroudi ; cp .build/fingerpunch_barobord_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/barobord-oled/ ; -mv keyboards/fingerpunch/barobord/rules.mk.bak keyboards/fingerpunch/barobord/rules.mk diff --git a/bin/build-barobord-pimoroni.sh b/bin/build-barobord-pimoroni.sh deleted file mode 100755 index 15eb6877ee77..000000000000 --- a/bin/build-barobord-pimoroni.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/barobord/rules.mk keyboards/fingerpunch/barobord/rules.mk.bak -cp keyboards/fingerpunch/barobord/rules-pimoroni.mk keyboards/fingerpunch/barobord/rules.mk -make fingerpunch/barobord:sadekbaroudi ; cp .build/fingerpunch_barobord_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/barobord-pimoroni/ ; -mv keyboards/fingerpunch/barobord/rules.mk.bak keyboards/fingerpunch/barobord/rules.mk diff --git a/bin/build-barobord-rgb-matrix-noenc-nooled.sh b/bin/build-barobord-rgb-matrix-noenc-nooled.sh deleted file mode 100755 index 0851e151f958..000000000000 --- a/bin/build-barobord-rgb-matrix-noenc-nooled.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/barobord/rules.mk keyboards/fingerpunch/barobord/rules.mk.bak -cp keyboards/fingerpunch/barobord/rules-rgb-matrix-noenc-nooled.mk keyboards/fingerpunch/barobord/rules.mk -cp keyboards/fingerpunch/barobord/config.h keyboards/fingerpunch/barobord/config.h.bak -cp keyboards/fingerpunch/barobord/rules-rgb-matrix-noenc-nooled.config.h keyboards/fingerpunch/barobord/config.h -make fingerpunch/barobord:sadekbaroudi ; cp .build/fingerpunch_barobord_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/barobord-rgb-matrix-noenc-nooled/ ; -mv keyboards/fingerpunch/barobord/rules.mk.bak keyboards/fingerpunch/barobord/rules.mk -mv keyboards/fingerpunch/barobord/config.h.bak keyboards/fingerpunch/barobord/config.h diff --git a/bin/build-barobord-rgb-matrix.sh b/bin/build-barobord-rgb-matrix.sh deleted file mode 100755 index 46cbf52baa4f..000000000000 --- a/bin/build-barobord-rgb-matrix.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/barobord/rules.mk keyboards/fingerpunch/barobord/rules.mk.bak -cp keyboards/fingerpunch/barobord/rules-rgb-matrix.mk keyboards/fingerpunch/barobord/rules.mk -make fingerpunch/barobord:sadekbaroudi ; cp .build/fingerpunch_barobord_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/barobord-rgb-matrix/ ; -mv keyboards/fingerpunch/barobord/rules.mk.bak keyboards/fingerpunch/barobord/rules.mk diff --git a/bin/build-barobord-underglow-noenc-nooled.sh b/bin/build-barobord-underglow-noenc-nooled.sh deleted file mode 100755 index e1bc316f51fe..000000000000 --- a/bin/build-barobord-underglow-noenc-nooled.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/barobord/rules.mk keyboards/fingerpunch/barobord/rules.mk.bak -cp keyboards/fingerpunch/barobord/rules-underglow-noenc-nooled.mk keyboards/fingerpunch/barobord/rules.mk -cp keyboards/fingerpunch/barobord/config.h keyboards/fingerpunch/barobord/config.h.bak -cp keyboards/fingerpunch/barobord/rules-underglow-noenc-nooled.config.h keyboards/fingerpunch/barobord/config.h -make fingerpunch/barobord:sadekbaroudi ; cp .build/fingerpunch_barobord_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/barobord-underglow-noenc-nooled/ ; -mv keyboards/fingerpunch/barobord/rules.mk.bak keyboards/fingerpunch/barobord/rules.mk -mv keyboards/fingerpunch/barobord/config.h.bak keyboards/fingerpunch/barobord/config.h diff --git a/bin/build-barobord-via.sh b/bin/build-barobord-via.sh deleted file mode 100755 index 56593170c5d8..000000000000 --- a/bin/build-barobord-via.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -make fingerpunch/barobord:via -cp .build/fingerpunch_barobord_via* /mnt/g/My\ Drive/qmk-keyboards/barobord-via/ diff --git a/bin/build-barobordhw-rgb-matrix.sh b/bin/build-barobordhw-rgb-matrix.sh deleted file mode 100755 index ccf1f18cde3f..000000000000 --- a/bin/build-barobordhw-rgb-matrix.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/handwired/barobordhw/rules-rgb-matrix.mk keyboards/fingerpunch/handwired/barobordhw/rules.mk -make fingerpunch/handwired/barobordhw:sadekbaroudi ; cp .build/fingerpunch_handwired_barobordhw_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/barobordhw-rgb-matrix/ ; -rm keyboards/fingerpunch/handwired/barobordhw/rules.mk diff --git a/bin/build-barobordhw-rgb.sh b/bin/build-barobordhw-rgb.sh deleted file mode 100755 index c5e2dbda5a73..000000000000 --- a/bin/build-barobordhw-rgb.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/handwired/barobordhw/rules-rgb.mk keyboards/fingerpunch/handwired/barobordhw/rules.mk -make fingerpunch/handwired/barobordhw:sadekbaroudi ; cp .build/fingerpunch_handwired_barobordhw_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/barobordhw-rgb/ ; -rm keyboards/fingerpunch/handwired/barobordhw/rules.mk diff --git a/bin/build-bgkeeb-default.sh b/bin/build-bgkeeb-default.sh deleted file mode 100755 index 2d3f9c181da8..000000000000 --- a/bin/build-bgkeeb-default.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -# NOTE: I had to set COMBO_ENABLE to no in my users/sadekbaroudi/rules.mk due to space limitations - -make fingerpunch/bgkeeb:sadekbaroudi ; cp .build/fingerpunch_bgkeeb_sadekbaroudi.hex /mnt/g/My\ Drive/qmk-keyboards/bgkeeb/ ; diff --git a/bin/build-bgkeeb.sh b/bin/build-bgkeeb.sh deleted file mode 100755 index 2d3f9c181da8..000000000000 --- a/bin/build-bgkeeb.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -# NOTE: I had to set COMBO_ENABLE to no in my users/sadekbaroudi/rules.mk due to space limitations - -make fingerpunch/bgkeeb:sadekbaroudi ; cp .build/fingerpunch_bgkeeb_sadekbaroudi.hex /mnt/g/My\ Drive/qmk-keyboards/bgkeeb/ ; diff --git a/bin/build-draculad.sh b/bin/build-draculad.sh deleted file mode 100755 index 54c7c7db2f2c..000000000000 --- a/bin/build-draculad.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -make draculad:sadekbaroudi ; -cp .build/draculad_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/draculad/ ; diff --git a/bin/build-enigma36-v1.sh b/bin/build-enigma36-v1.sh deleted file mode 100755 index c6964bfe9822..000000000000 --- a/bin/build-enigma36-v1.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/handwired/enigma36/config-v1.h keyboards/fingerpunch/handwired/enigma36/config.h -cp keyboards/fingerpunch/handwired/enigma36/rules-v1.mk keyboards/fingerpunch/handwired/enigma36/rules.mk -make fingerpunch/handwired/enigma36:sadekbaroudi ; cp .build/fingerpunch_handwired_enigma36_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/enigma36-v1/ ; -rm keyboards/fingerpunch/handwired/enigma36/config.h -rm keyboards/fingerpunch/handwired/enigma36/rules.mk diff --git a/bin/build-enigma36-v2.sh b/bin/build-enigma36-v2.sh deleted file mode 100755 index 65671736fc79..000000000000 --- a/bin/build-enigma36-v2.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/handwired/enigma36/config-v2.h keyboards/fingerpunch/handwired/enigma36/config.h -cp keyboards/fingerpunch/handwired/enigma36/rules-v2.mk keyboards/fingerpunch/handwired/enigma36/rules.mk -make fingerpunch/handwired/enigma36:sadekbaroudi ; cp .build/fingerpunch_handwired_enigma36_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/enigma36-v2/ ; -rm keyboards/fingerpunch/handwired/enigma36/config.h -rm keyboards/fingerpunch/handwired/enigma36/rules.mk diff --git a/bin/build-euclid36-proto.sh b/bin/build-euclid36-proto.sh deleted file mode 100755 index 268a76759108..000000000000 --- a/bin/build-euclid36-proto.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -make xoiviox/euclid36proto:sadekbaroudi -cp .build/xoiviox_euclid36proto_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/euclid36proto/ diff --git a/bin/build-ffkb-pim-ec11.sh b/bin/build-ffkb-pim-ec11.sh deleted file mode 100755 index 3a6fe9b051c4..000000000000 --- a/bin/build-ffkb-pim-ec11.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/ffkb/config.h keyboards/fingerpunch/ffkb/config.h.bak -cp keyboards/fingerpunch/ffkb/rules.mk keyboards/fingerpunch/ffkb/rules.mk.bak -cp keyboards/fingerpunch/ffkb/config-pim-ec11.h keyboards/fingerpunch/ffkb/config.h -cp keyboards/fingerpunch/ffkb/rules-pim-ec11.mk keyboards/fingerpunch/ffkb/rules.mk -make fingerpunch/ffkb:sadekbaroudi -mv keyboards/fingerpunch/ffkb/config.h.bak keyboards/fingerpunch/ffkb/config.h -mv keyboards/fingerpunch/ffkb/rules.mk.bak keyboards/fingerpunch/ffkb/rules.mk -cp .build/fingerpunch_ffkb_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/ffkb-pim-ec11/ diff --git a/bin/build-ffkb-rgb-matrix-ec11.sh b/bin/build-ffkb-rgb-matrix-ec11.sh deleted file mode 100755 index ce14243d3672..000000000000 --- a/bin/build-ffkb-rgb-matrix-ec11.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/ffkb/config.h keyboards/fingerpunch/ffkb/config.h.bak -cp keyboards/fingerpunch/ffkb/rules.mk keyboards/fingerpunch/ffkb/rules.mk.bak -cp keyboards/fingerpunch/ffkb/config-rgb-matrix-ec11.h keyboards/fingerpunch/ffkb/config.h -cp keyboards/fingerpunch/ffkb/rules-rgb-matrix-ec11.mk keyboards/fingerpunch/ffkb/rules.mk -make fingerpunch/ffkb:sadekbaroudi -mv keyboards/fingerpunch/ffkb/config.h.bak keyboards/fingerpunch/ffkb/config.h -mv keyboards/fingerpunch/ffkb/rules.mk.bak keyboards/fingerpunch/ffkb/rules.mk -cp .build/fingerpunch_ffkb_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/ffkb-rgb-matrix-ec11/ diff --git a/bin/build-ffkb-rgb-matrix-evq-ec11.sh b/bin/build-ffkb-rgb-matrix-evq-ec11.sh deleted file mode 100755 index bf6f61fa5206..000000000000 --- a/bin/build-ffkb-rgb-matrix-evq-ec11.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/ffkb/config.h keyboards/fingerpunch/ffkb/config.h.bak -cp keyboards/fingerpunch/ffkb/rules.mk keyboards/fingerpunch/ffkb/rules.mk.bak -cp keyboards/fingerpunch/ffkb/config-rgb-matrix-evq-ec11.h keyboards/fingerpunch/ffkb/config.h -cp keyboards/fingerpunch/ffkb/rules-rgb-matrix-evq-ec11.mk keyboards/fingerpunch/ffkb/rules.mk -make fingerpunch/ffkb:sadekbaroudi -mv keyboards/fingerpunch/ffkb/config.h.bak keyboards/fingerpunch/ffkb/config.h -mv keyboards/fingerpunch/ffkb/rules.mk.bak keyboards/fingerpunch/ffkb/rules.mk -cp .build/fingerpunch_ffkb_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/ffkb-rgb-matrix-evq-ec11/ diff --git a/bin/build-ffkb-rgblight-ec11.sh b/bin/build-ffkb-rgblight-ec11.sh deleted file mode 100755 index 3ea09cbe413e..000000000000 --- a/bin/build-ffkb-rgblight-ec11.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/ffkb/config.h keyboards/fingerpunch/ffkb/config.h.bak -cp keyboards/fingerpunch/ffkb/rules.mk keyboards/fingerpunch/ffkb/rules.mk.bak -cp keyboards/fingerpunch/ffkb/config-rgblight-ec11.h keyboards/fingerpunch/ffkb/config.h -cp keyboards/fingerpunch/ffkb/rules-rgblight-ec11.mk keyboards/fingerpunch/ffkb/rules.mk -make fingerpunch/ffkb:sadekbaroudi -mv keyboards/fingerpunch/ffkb/config.h.bak keyboards/fingerpunch/ffkb/config.h -mv keyboards/fingerpunch/ffkb/rules.mk.bak keyboards/fingerpunch/ffkb/rules.mk -cp .build/fingerpunch_ffkb_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/ffkb-rgblight-ec11/ diff --git a/bin/build-ffkb-rgblight-evq-ec11.sh b/bin/build-ffkb-rgblight-evq-ec11.sh deleted file mode 100755 index db24957f18f2..000000000000 --- a/bin/build-ffkb-rgblight-evq-ec11.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -cp keyboards/fingerpunch/ffkb/config.h keyboards/fingerpunch/ffkb/config.h.bak -cp keyboards/fingerpunch/ffkb/rules.mk keyboards/fingerpunch/ffkb/rules.mk.bak -cp keyboards/fingerpunch/ffkb/config-rgblight-evq-ec11.h keyboards/fingerpunch/ffkb/config.h -cp keyboards/fingerpunch/ffkb/rules-rgblight-evq-ec11.mk keyboards/fingerpunch/ffkb/rules.mk -make fingerpunch/ffkb:sadekbaroudi -mv keyboards/fingerpunch/ffkb/config.h.bak keyboards/fingerpunch/ffkb/config.h -mv keyboards/fingerpunch/ffkb/rules.mk.bak keyboards/fingerpunch/ffkb/rules.mk -cp .build/fingerpunch_ffkb_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/ffkb-rgblight-evq-ec11/ diff --git a/bin/build-ffkbhw.sh b/bin/build-ffkbhw.sh deleted file mode 100755 index a6af472bd36e..000000000000 --- a/bin/build-ffkbhw.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -make fingerpunch/handwired/ffkbhw:sadekbaroudi -cp .build/fingerpunch_handwired_ffkbhw_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/ffkbhw/ diff --git a/bin/build-freewilly.sh b/bin/build-freewilly.sh deleted file mode 100755 index 762a6a28d136..000000000000 --- a/bin/build-freewilly.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -make free_willy:sadekbaroudi ; cp .build/free_willy_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/free_willy/ ; diff --git a/bin/build-halfdash.sh b/bin/build-halfdash.sh deleted file mode 100755 index d1a09f1ea956..000000000000 --- a/bin/build-halfdash.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -make fingerpunch/halfdash:sadekbaroudi -cp .build/fingerpunch_halfdash_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/halfdash/ diff --git a/bin/build-luakeeb.sh b/bin/build-luakeeb.sh deleted file mode 100755 index 99604b7755ce..000000000000 --- a/bin/build-luakeeb.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -# NOTE: I had to set COMBO_ENABLE to no in my users/sadekbaroudi/rules.mk due to space limitations - -make fingerpunch/luakeeb:sadekbaroudi ; cp .build/fingerpunch_luakeeb_sadekbaroudi.hex /mnt/g/My\ Drive/qmk-keyboards/luakeeb/ ; diff --git a/bin/build-minidox.sh b/bin/build-minidox.sh deleted file mode 100755 index f4638b590ab4..000000000000 --- a/bin/build-minidox.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -#cp keyboards/xoiviox/barobord/rules-oled.mk keyboards/xoiviox/barobord/rules.mk -make minidox/rev1:sadekbaroudi ; cp .build/minidox_rev1_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/minidox/ ; -mv /mnt/g/My\ Drive/qmk-keyboards/minidox/minidox_rev1_sadekbaroudi.hex -echo "-------------------------------------------------------------------------------------------------------" -echo "-------------------------------------------------------------------------------------------------------" -echo "-------------------------------------------------------------------------------------------------------" -echo "-------------------------------------------------------------------------------------------------------" -echo "-------------------------------------------------------------------------------------------------------" -echo "look at keymap.c in the keymap directory, make the changes in rgb_base_layer_keymap, and build the slave version" -echo "-------------------------------------------------------------------------------------------------------" -echo "-------------------------------------------------------------------------------------------------------" -echo "-------------------------------------------------------------------------------------------------------" -echo "-------------------------------------------------------------------------------------------------------" -echo "-------------------------------------------------------------------------------------------------------" -#rm keyboards/xoiviox/barobord/rules.mk diff --git a/bin/build-osprette.sh b/bin/build-osprette.sh deleted file mode 100755 index 59545de1012b..000000000000 --- a/bin/build-osprette.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -make fingerpunch/osprette:sadekbaroudi ; cp .build/fingerpunch_osprette_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/osprette/ ; diff --git a/bin/build-pinkies-out.sh b/bin/build-pinkies-out.sh deleted file mode 100755 index 1e51f83758d3..000000000000 --- a/bin/build-pinkies-out.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -#make fingerpunch/pinkiesout/rgbmatrix_oled:default -#cp .build/fingerpunch_pinkiesout_rgbmatrix_oled_default* /mnt/g/My\ Drive/qmk-keyboards/pinkiesout - -#make fingerpunch/pinkiesout/rgblight_oled:sadekbaroudi -#cp .build/fingerpunch_pinkiesout_rgblight_oled_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/pinkiesout/rgblight_oled/ - -make fingerpunch/pinkiesout/rgbmatrix_oled:sadekbaroudi -cp .build/fingerpunch_pinkiesout_rgbmatrix_oled_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/pinkiesout/rgbmatrix/ - -make fingerpunch/pinkiesout/rgblight_oled:sadekbaroudi -cp .build/fingerpunch_pinkiesout_rgblight_oled_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/pinkiesout/rgblight/ diff --git a/bin/build-rockon-bp.sh b/bin/build-rockon-bp.sh deleted file mode 100755 index 41db700d96d3..000000000000 --- a/bin/build-rockon-bp.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -make fingerpunch/rockon_bp/rgbmatrix_oled:sadekbaroudi -cp .build/fingerpunch_rockon_bp_rgbmatrix_oled_sadekbaroudi.bin /mnt/g/My\ Drive/qmk-keyboards/rock-on_bp/sadekbaroudi/ - -make fingerpunch/rockon_bp/rgblight_oled:sadekbaroudi -cp .build/fingerpunch_rockon_bp_rgblight_oled_sadekbaroudi.bin /mnt/g/My\ Drive/qmk-keyboards/rock-on_bp/sadekbaroudi/ - -make fingerpunch/rockon_bp/rgbmatrix:sadekbaroudi -cp .build/fingerpunch_rockon_bp_rgbmatrix_sadekbaroudi.bin /mnt/g/My\ Drive/qmk-keyboards/rock-on_bp/sadekbaroudi/ - -make fingerpunch/rockon_bp/rgblight:sadekbaroudi -cp .build/fingerpunch_rockon_bp_rgblight_sadekbaroudi.bin /mnt/g/My\ Drive/qmk-keyboards/rock-on_bp/sadekbaroudi/ - -make fingerpunch/rockon_bp/ec11:sadekbaroudi -cp .build/fingerpunch_rockon_bp_ec11_sadekbaroudi.bin /mnt/g/My\ Drive/qmk-keyboards/rock-on_bp/sadekbaroudi/ - -make fingerpunch/rockon_bp/oled_ec11:sadekbaroudi -cp .build/fingerpunch_rockon_bp_oled_ec11_sadekbaroudi.bin /mnt/g/My\ Drive/qmk-keyboards/rock-on_bp/sadekbaroudi/ - -make fingerpunch/rockon_bp/rgblight_ec11:sadekbaroudi -cp .build/fingerpunch_rockon_bp_rgblight_ec11_sadekbaroudi.bin /mnt/g/My\ Drive/qmk-keyboards/rock-on_bp/sadekbaroudi/ - -make fingerpunch/rockon_bp/rgblight_oled_ec11:sadekbaroudi -cp .build/fingerpunch_rockon_bp_rgblight_oled_ec11_sadekbaroudi.bin /mnt/g/My\ Drive/qmk-keyboards/rock-on_bp/sadekbaroudi/ - -make fingerpunch/rockon_bp/rgbmatrix_ec11:sadekbaroudi -cp .build/fingerpunch_rockon_bp_rgbmatrix_ec11_sadekbaroudi.bin /mnt/g/My\ Drive/qmk-keyboards/rock-on_bp/sadekbaroudi/ - -make fingerpunch/rockon_bp/rgbmatrix_oled_ec11:sadekbaroudi -cp .build/fingerpunch_rockon_bp_rgbmatrix_oled_ec11_sadekbaroudi.bin /mnt/g/My\ Drive/qmk-keyboards/rock-on_bp/sadekbaroudi/ \ No newline at end of file diff --git a/bin/build-rockon.sh b/bin/build-rockon.sh deleted file mode 100755 index 64509848e955..000000000000 --- a/bin/build-rockon.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -# TODO: consolidate all the build files into one - -make fingerpunch/rockon/v1/rgbmatrix_oled:sadekbaroudi -cp .build/fingerpunch_rockon_v1_rgbmatrix_oled_sadekbaroudi.hex /mnt/g/My\ Drive/qmk-keyboards/rock-on/v1/rgbmatrix/fingerpunch_rockon_v1_rgbmatrix_oled_sadekbaroudi.hex - -make fingerpunch/rockon/v1/rgblight_oled:sadekbaroudi -cp .build/fingerpunch_rockon_v1_rgblight_oled_sadekbaroudi.hex /mnt/g/My\ Drive/qmk-keyboards/rock-on/v1/rgblight/fingerpunch_rockon_v1_rgblight_oled_sadekbaroudi.hex diff --git a/bin/build-sweeeeep.sh b/bin/build-sweeeeep.sh deleted file mode 100755 index a32786e5b210..000000000000 --- a/bin/build-sweeeeep.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -make fingerpunch/sweeeeep/no_features:sadekbaroudi -make fingerpunch/sweeeeep/oled:sadekbaroudi -make fingerpunch/sweeeeep/rgblight:sadekbaroudi -make fingerpunch/sweeeeep/rgblight_oled:sadekbaroudi -cp .build/fingerpunch_sweeeeep_*_sadekbaroudi*.hex /mnt/g/My\ Drive/qmk-keyboards/sweeeeep/sadekbaroudi/ - -make fingerpunch/sweeeeep/no_features:default -make fingerpunch/sweeeeep/oled:default -make fingerpunch/sweeeeep/rgblight:default -make fingerpunch/sweeeeep/rgblight_oled:default -cp .build/fingerpunch_sweeeeep_*_default*.hex /mnt/g/My\ Drive/qmk-keyboards/sweeeeep/default/ diff --git a/bin/fp_build.sh b/bin/fp_build.sh new file mode 100755 index 000000000000..df94ebdf176f --- /dev/null +++ b/bin/fp_build.sh @@ -0,0 +1,315 @@ +#!/bin/bash + +# error handling +if ! command -v jq &> /dev/null +then + echo "jq is a dependency, and could not be found, see https://stedolan.github.io/jq for installation details" + exit +fi + +Help() +{ + echo "Usage: $0 -k -m -c -r -h" + echo "" + echo " -l list valid keyboards (optional, overrides all other options)" + echo " -k keyboard directory (optional, default is all fingerpunch keyboards)" + echo " -m keymap (optional, defaults to the 'default' keymap)" + echo " -c add CONVERT_TO parameter for a controller (eg -c stemcell)" + echo " -i (interactive mode, take feature selection user input to generate build command)" + echo " -r (run the build command(s), defaults to outputting the build string)" + echo " -h (show this dialog)" + echo "" + echo "Examples: " + echo "--------" + echo "fp_build.sh -i -k \"rockon/v2\" -m sadekbaroudi -r" + echo "fp_build.sh -i -m sadekbaroudi" + echo "fp_build.sh -k \"barobord\"" +} + +get_valid_keyboards() { + valid_keyboards="" + directories=$(find ${1}/* -maxdepth 0 -type d) + echo "${directories}" | while read line; do + if [[ -e "${line}/fp_build.json" ]]; then + echo -n "${line} " + fi + for i in {1..9} + do + if [[ -e "${line}/v${i}/fp_build.json" ]]; then + echo -n "${line}/v${i} " + fi + done + done +} + +build_keyboard_user_input() { + local build_json="${1}/fp_build.json" + local keyboard_base_dir="${1}" + local keyboard_name="${1#${2}/}" + local run_build="${4}" + + local build_string="make ${keyboard_base_dir#keyboards\/}:${3}" + echo "${build_string}" + # get the total number of paramters + top_level_element_count=$(cat "${build_json}" | jq 'length') + # loop through each parameter + for ((param_iter = 0 ; param_iter < top_level_element_count ; param_iter++)); do + # get the parameter type to decide how to handle it + param_type=$(cat "${build_json}" | jq -r ".[${param_iter}].type") + + # get the string to present to the user for their input + user_input_string=$(cat "${build_json}" | jq -r ".[${param_iter}].user_input") + + # if it's a "one-of"... in other words, pick an option from a list + if [[ "${param_type}" == "one-of" ]]; then + options_count=$(cat "${build_json}" | jq ".[${param_iter}].names | length") + user_input_string+=" (0-${options_count}): " + + echo -n "${user_input_string}" + read user_choice + while [[ $user_choice -lt 0 || $user_choice -gt $options_count ]]; do + echo "Invalid choice: ${user_choice}" + echo -n "${user_input_string}" + read user_choice + done + + # start at 1, because 0 should always be "none" + param_names_counter=1 + param_names=$(cat "${build_json}" | jq -r ".[${param_iter}].names | @sh" | tr -d \') + for param_name in $param_names; do + if [[ $param_names_counter -eq $user_choice ]]; then + build_string+=" ${param_name}=yes" + fi + ((param_names_counter+=1)) + done + # if it's a single value choice for a parmeter, or "yes or no" question + elif [[ "${param_type}" == "single" ]]; then + user_input_string+=" (yes/no): " + + echo -n "${user_input_string}" + read user_choice + + while [[ $user_choice != "yes" && $user_choice != "no" && $user_choice != "y" && $user_choice != "n" ]]; do + echo "Invalid choice: ${user_choice}" + echo -n "${user_input_string}" + read user_choice + done + + if [[ "${user_choice}" == "y" ]]; then + user_choice="yes" + fi + if [[ "${user_choice}" == "n" ]]; then + user_choice="no" + fi + + param_name=$(cat "${build_json}" | jq -r ".[${param_iter}].name") + build_string+=" ${param_name}=${user_choice}" + elif [[ "${param_type}" == "convert-to" ]]; then + # Do nothing, we can skip this for interactive mode + param_name=$(cat "${build_json}" | jq -r ".[${param_iter}].name") + else + echo "invalid type in json file: ${param_type}" + exit + fi + done + + if [[ -n "${5}" && "${5}" != "no" ]]; then + build_string+=" CONVERT_TO=${5}" + fi + + process_build_string "${build_string}" "${run_build}" +} + + +build_keyboard_all_combinations() { + local build_json="${1}/fp_build.json" + local keyboard_base_dir="${1}" + local keyboard_name="${1#${2}/}" + local run_build="${4}" + + local build_string_base="make ${keyboard_base_dir#keyboards\/}:${3}" + + if [[ -n "${5}" && "${5}" != "no" ]]; then + build_string_base+=" CONVERT_TO=${5}" + fi + + make_build_string_recursive "${build_json}" "${run_build}" 0 "${build_string_base}" +} + +# make_build_string_recursive "${build_json}" "${run_build}" "${param_number}" "${build_string_base}" +make_build_string_recursive() { + local build_json="${1}" + local run_build="${2}" + local param_number=$3 + local build_string_base="${4}" + local top_level_element_count=$(cat "${build_json}" | jq 'length') + + if [[ $((param_number)) -ge $((top_level_element_count)) ]]; then + process_build_string "${build_string_base}" "${run_build}" + return; + fi + + local param_type=$(cat "${build_json}" | jq -r ".[${param_number}].type") + local next_param_number=$((param_number + 1)) + + # if it's a "one-of"... in other words, pick an option from a list + if [[ "${param_type}" == "one-of" ]]; then + local param_names=$(cat "${build_json}" | jq -r ".[${param_number}].names | @sh" | tr -d \') + for param_name in $param_names; do + make_build_string_recursive "${build_json}" "${run_build}" $next_param_number "${build_string_base} ${param_name}=yes" + done + # if it's a single value choice for a parmeter, or "yes or no" question + elif [[ "${param_type}" == "single" ]]; then + local param_name=$(cat "${build_json}" | jq -r ".[${param_number}].name") + make_build_string_recursive "${build_json}" "${run_build}" $next_param_number "${build_string_base} ${param_name}=yes" + make_build_string_recursive "${build_json}" "${run_build}" $next_param_number "${build_string_base} ${param_name}=no" + elif [[ "${param_type}" == "convert-to" ]]; then + local param_name=$(cat "${build_json}" | jq -r ".[${param_number}].name") + make_build_string_recursive "${build_json}" "${run_build}" $next_param_number "${build_string_base} CONVERT_TO=${param_name}" + else + echo "invalid type in json file: ${param_type}" + exit + fi +} + +# rename_file_from_build_string $build_string $target_filename_suffix +rename_file_from_build_string() { + tokens=( $1 ) + + target_filename_suffix="" + if [[ ! -z "${2}" ]]; then + target_filename_suffix="_${2}" + fi + + # Calculate the qmk build filename prefix to move it + token_file_prefix="${tokens[1]//\//_}" + token_file_prefix="${token_file_prefix//:/_}" + + # Start the new filename, which will be appended to below + target_filename="${token_file_prefix}" + + # check if token_i>1 + # check if first paramter is CONVERT_TO, then grab other side of = (stemcell for example) + # otherwise grab first parameter (RGBLIGHT_ENABLE for example) + # rename file accordingly + token_i=0 + for token in "${tokens[@]}" + do + if [[ $token_i -gt 1 ]]; then + config_param="${token%%=*}" + config_value="${token#*=}" + if [[ "${config_param}" == "CONVERT_TO" ]]; then + token_file_prefix+="_${config_value}" + target_filename+="_${config_value}" + else + # Make sure that the value is yes (it's enabled), otherwise we shouldn't include in the filename + if [[ "${config_value}" == "yes" ]]; then + # ,, converts to lowercase + target_filename+="_${config_param,,}" + # remove _enable suffix as it's implied + target_filename=${target_filename%"_enable"} + fi + fi + fi + token_i+=1 + done + + echo "${0}: filename token is ${token_file_prefix}" + echo "${0}: target filename is ${target_filename}" + + hex_source_file="${token_file_prefix}.hex" + uf2_source_file="${token_file_prefix}.uf2" + hex_target_file="${target_filename}${target_filename_suffix}.hex" + uf2_target_file="${target_filename}${target_filename_suffix}.uf2" + + if test -f "${hex_source_file}"; then + echo "${0}: Renaming file '${hex_source_file}' to '${hex_target_file}'" + mv "${hex_source_file}" "${hex_target_file}" + else + echo "${0}: Could not find hex source file ${hex_source_file} to rename." + fi + + if test -f "${uf2_source_file}"; then + echo "${0}: Renaming file '${uf2_source_file}' to '${uf2_target_file}'" + mv "${uf2_source_file}" "${uf2_target_file}" + else + echo "${0}: Could not find uf2 source file ${uf2_source_file} to rename." + fi +} + +# process_build_string $build_string $run_build +process_build_string() { + build_string="$1" + run_build="$2" + append_to_filename="" + + echo "${build_string}" + + if [[ "${run_build}" == "yes" ]]; then + echo "fp_build.sh: Running QMK Build...." + echo "" + build_run_output=`${build_string}` + build_run_status=$? + echo "output: ${build_run_output}" + echo "exit status: ${build_run_status}" + if [[ $build_run_status -ne 0 ]]; then + # if the firmware is too large, we proceed, but append to filename, otherwise we error out + if [[ "${build_run_output}" == *"The firmware is too large"* ]]; then + append_to_filename="FIRMWARE_SIZE_CHECK_FAILED" + else + echo "${0} build run failed with status ${build_run_status}" + exit $build_run_status + fi + fi + + rename_file_from_build_string "${build_string}" "${append_to_filename}" + fi +} + +Keyboard="" +Keymap="default" +RunBuild="no" +ConvertTo="no" +Interactive="no" +ListKeyboards="no" +while getopts "k:m:c:rhil" option; do + case $option in + l) ListKeyboards="yes";; + k) Keyboard=${OPTARG};; + m) Keymap=${OPTARG};; + c) ConvertTo=${OPTARG};; + i) Interactive="yes";; + r) RunBuild="yes";; + h) Help + exit;; + esac +done + +#### code starts here + +# set up variables +FP_KB_DIR="keyboards/fingerpunch" +FP_KB=("${Keyboard}") +if [[ -z "${Keyboard}" || "${ListKeyboards}" == "yes" ]]; then + FP_KB=$(get_valid_keyboards "${FP_KB_DIR}") +else + FP_KB=("${FP_KB_DIR}/${FP_KB}") + if [[ ! -e "${FP_KB}" ]]; then + echo "${FP_KB} is not a valid file, can't build" + exit + fi +fi; + +if [[ "${ListKeyboards}" == "yes" ]]; then + # remove last space from FP_KB and convert spaces to newlines + echo "${FP_KB%?}" | tr " " "\n" +else + for filename in $FP_KB; do + if [[ "${Interactive}" == "yes" ]]; then + echo "Running for ${filename}" + build_keyboard_user_input "${filename}" "${FP_KB_DIR}" "${Keymap}" "${RunBuild}" "${ConvertTo}" + else + build_keyboard_all_combinations "${filename}" "${FP_KB_DIR}" "${Keymap}" "${RunBuild}" "${ConvertTo}" "" + fi + done +fi diff --git a/bin/make-all-ffkb.sh b/bin/make-all-ffkb.sh deleted file mode 100755 index 7bc5eda408d6..000000000000 --- a/bin/make-all-ffkb.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash -make fingerpunch/ffkb/rgblight_evq:sadekbaroudi -make fingerpunch/ffkb/ec11:sadekbaroudi -make fingerpunch/ffkb/rgbmatrix_evq:sadekbaroudi -make fingerpunch/ffkb/pimoroni_evq:sadekbaroudi -make fingerpunch/ffkb/rgbmatrix_pimoroni_evq:sadekbaroudi -make fingerpunch/ffkb/rgbmatrix_pimoroni_ec11:sadekbaroudi -make fingerpunch/ffkb/rgbmatrix_oled:sadekbaroudi -make fingerpunch/ffkb/oled:sadekbaroudi -make fingerpunch/ffkb/rgbmatrix:sadekbaroudi -make fingerpunch/ffkb/rgbmatrix_ec11:sadekbaroudi -make fingerpunch/ffkb/rgbmatrix_oled_ec11:sadekbaroudi -make fingerpunch/ffkb/rgblight_pimoroni_evq:sadekbaroudi -make fingerpunch/ffkb/rgbmatrix_pimoroni:sadekbaroudi -make fingerpunch/ffkb/rgblight_oled_evq:sadekbaroudi -make fingerpunch/ffkb/pimoroni:sadekbaroudi -make fingerpunch/ffkb/evq:sadekbaroudi -make fingerpunch/ffkb/rgblight_ec11:sadekbaroudi -make fingerpunch/ffkb/rgblight_pimoroni_ec11:sadekbaroudi -make fingerpunch/ffkb/rgblight_oled:sadekbaroudi -make fingerpunch/ffkb/oled_ec11:sadekbaroudi -make fingerpunch/ffkb/rgbmatrix_ec11_evq:sadekbaroudi -make fingerpunch/ffkb/rgblight:sadekbaroudi -make fingerpunch/ffkb/no_features:sadekbaroudi -make fingerpunch/ffkb/pimoroni_ec11:sadekbaroudi -make fingerpunch/ffkb/rgblight_pimoroni:sadekbaroudi -make fingerpunch/ffkb/rgblight_ec11_evq:sadekbaroudi -make fingerpunch/ffkb/rgbmatrix_oled_evq:sadekbaroudi -make fingerpunch/ffkb/oled_evq:sadekbaroudi -make fingerpunch/ffkb/ec11_evq:sadekbaroudi -make fingerpunch/ffkb/rgblight_oled_ec11:sadekbaroudi - -cp fingerpunch_ffkb_*_sadekbaroudi.hex /mnt/g/My\ Drive/qmk-keyboards/ffkb/sadekbaroudi/ diff --git a/bin/make-all-ffkb_byomcu.sh b/bin/make-all-ffkb_byomcu.sh deleted file mode 100755 index c41358d99676..000000000000 --- a/bin/make-all-ffkb_byomcu.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash -make fingerpunch/ffkb_byomcu/cirque:sadekbaroudi -make fingerpunch/ffkb_byomcu/cirque_ec11:sadekbaroudi -make fingerpunch/ffkb_byomcu/cirque_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight_cirque:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight_cirque_ec11:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight_cirque_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_cirque:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_cirque_ec11:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_cirque_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/ec11:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/pimoroni_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_ec11:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_oled:sadekbaroudi -make fingerpunch/ffkb_byomcu/oled:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_ec11:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_oled_ec11:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight_pimoroni_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight_oled_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/pimoroni:sadekbaroudi -make fingerpunch/ffkb_byomcu/evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight_ec11:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight_pimoroni_ec11:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight_oled:sadekbaroudi -make fingerpunch/ffkb_byomcu/oled_ec11:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_ec11_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight:sadekbaroudi -make fingerpunch/ffkb_byomcu/no_features:sadekbaroudi -make fingerpunch/ffkb_byomcu/pimoroni_ec11:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight_pimoroni:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight_ec11_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_oled_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/oled_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/ec11_evq:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgblight_oled_ec11:sadekbaroudi - -cp fingerpunch_ffkb_byomcu_*_sadekbaroudi.hex /mnt/g/My\ Drive/qmk-keyboards/ffkb_byomcu/sadekbaroudi/ diff --git a/bin/make-all-ffkb_stemcell.sh b/bin/make-all-ffkb_stemcell.sh deleted file mode 100755 index 9d304ca1e563..000000000000 --- a/bin/make-all-ffkb_stemcell.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash - -cp keyboards/fingerpunch/ffkb_byomcu/config.h keyboards/fingerpunch/ffkb_byomcu/config.h.bak -cp keyboards/fingerpunch/ffkb_byomcu/config.stemcell.h keyboards/fingerpunch/ffkb_byomcu/config.h - -cp keyboards/fingerpunch/ffkb_byomcu/rules.mk keyboards/fingerpunch/ffkb_byomcu/rules.mk.bak -cp keyboards/fingerpunch/ffkb_byomcu/rules.stemcell.mk keyboards/fingerpunch/ffkb_byomcu/rules.mk - -mv keyboards/fingerpunch/ffkb_byomcu/halconf.stemcell.h keyboards/fingerpunch/ffkb_byomcu/halconf.h -mv keyboards/fingerpunch/ffkb_byomcu/mcuconf.stemcell.h keyboards/fingerpunch/ffkb_byomcu/mcuconf.h - -#make fingerpunch/ffkb_byomcu/rgblight_evq:sadekbaroudi -#make fingerpunch/ffkb_byomcu/ec11:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgbmatrix_evq:sadekbaroudi -#make fingerpunch/ffkb_byomcu/pimoroni_evq:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_evq:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_ec11:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgbmatrix_oled:sadekbaroudi -#make fingerpunch/ffkb_byomcu/oled:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgbmatrix:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgbmatrix_ec11:sadekbaroudi -make fingerpunch/ffkb_byomcu/rgbmatrix_oled_ec11:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgblight_pimoroni_evq:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgblight_oled_evq:sadekbaroudi -#make fingerpunch/ffkb_byomcu/pimoroni:sadekbaroudi -#make fingerpunch/ffkb_byomcu/evq:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgblight_ec11:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgblight_pimoroni_ec11:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgblight_oled:sadekbaroudi -#make fingerpunch/ffkb_byomcu/oled_ec11:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgbmatrix_ec11_evq:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgblight:sadekbaroudi -#make fingerpunch/ffkb_byomcu/no_features:sadekbaroudi -#make fingerpunch/ffkb_byomcu/pimoroni_ec11:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgblight_pimoroni:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgblight_ec11_evq:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgbmatrix_oled_evq:sadekbaroudi -#make fingerpunch/ffkb_byomcu/oled_evq:sadekbaroudi -#make fingerpunch/ffkb_byomcu/ec11_evq:sadekbaroudi -#make fingerpunch/ffkb_byomcu/rgblight_oled_ec11:sadekbaroudi - -mv keyboards/fingerpunch/ffkb_byomcu/config.h.bak keyboards/fingerpunch/ffkb_byomcu/config.h - -mv keyboards/fingerpunch/ffkb_byomcu/rules.mk.bak keyboards/fingerpunch/ffkb_byomcu/rules.mk - -mv keyboards/fingerpunch/ffkb_byomcu/halconf.h keyboards/fingerpunch/ffkb_byomcu/halconf.stemcell.h -mv keyboards/fingerpunch/ffkb_byomcu/mcuconf.h keyboards/fingerpunch/ffkb_byomcu/mcuconf.stemcell.h - -cp fingerpunch_ffkb_byomcu_*_sadekbaroudi.bin /mnt/g/My\ Drive/qmk-keyboards/ffkb_stemcell/sadekbaroudi/ diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index a23b5e82b915..38fdbad65a1c 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -136,6 +136,7 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) VPATH += $(QUANTUM_DIR)/pointing_device SRC += $(QUANTUM_DIR)/pointing_device/pointing_device.c SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_drivers.c + SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_auto_mouse.c ifneq ($(strip $(POINTING_DEVICE_DRIVER)), custom) SRC += drivers/sensors/$(strip $(POINTING_DEVICE_DRIVER)).c OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(shell echo $(POINTING_DEVICE_DRIVER) | tr '[:lower:]' '[:upper:]')) diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 999dd1272dda..f31910ed11dc 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -345,7 +345,7 @@ The combined functions below are only available when using `SPLIT_POINTING_ENABL | Function | Description | | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | | `pointing_device_set_shared_report(mouse_report)` | Sets the shared mouse report to the assigned `mouse_report_t` data structured passed to the function. | -| `pointing_device_set_cpi_on_side(bool, uint16_t)` | Sets the CPI/DPI of one side, if supported. Passing `true` will set the left and `false` the right` | +| `pointing_device_set_cpi_on_side(bool, uint16_t)` | Sets the CPI/DPI of one side, if supported. Passing `true` will set the left and `false` the right | | `pointing_device_combine_reports(left_report, right_report)` | Returns a combined mouse_report of left_report and right_report (as a `mouse_report_t` data structure) | | `pointing_device_task_combined_kb(left_report, right_report)` | Callback, so keyboard code can intercept and modify the data. Returns a combined mouse report. | | `pointing_device_task_combined_user(left_report, right_report)` | Callback, so user code can intercept and modify. Returns a combined mouse report using `pointing_device_combine_reports` | @@ -487,3 +487,243 @@ report_mouse_t pointing_device_task_combined_user(report_mouse_t left_report, re return pointing_device_combine_reports(left_report, right_report); } ``` + +# Troubleshooting + +If you are having issues with pointing device drivers debug messages can be enabled that will give you insights in the inner workings. To enable these add to your keyboards `config.h` file: + +```c +#define POINTING_DEVICE_DEBUG +``` + +?> The messages will be printed out to the `CONSOLE` output. For additional information, refer to [Debugging/Troubleshooting QMK](faq_debug.md). + + +--- +# Automatic Mouse Layer :id=pointing-device-auto-mouse + +When using a pointing device combined with a keyboard the mouse buttons are often kept on a separate layer from the default keyboard layer, which requires pressing or holding a key to change layers before using the mouse. To make this easier and more efficient an additional pointing device feature may be enabled that will automatically activate a target layer as soon as the pointing device is active _(in motion, mouse button pressed etc.)_ and deactivate the target layer after a set time. + +Additionally if any key that is defined as a mouse key is pressed then the layer will be held as long as the key is pressed and the timer will be reset on key release. When a non-mouse key is pressed then the layer is deactivated early _(with some exceptions see below)_. Mod, mod tap, and one shot mod keys are ignored _(i.e. don't hold or activate layer but do not deactivate the layer either)_ when sending a modifier keycode _(e.g. hold for mod tap)_ allowing for mod keys to be used with the mouse without activating the target layer when typing. + +All of the standard layer keys (tap toggling, toggle, toggle on, one_shot, layer tap, layer mod) that activate the current target layer are uniquely handled to ensure they behave as expected _(see layer key table below)_. The target layer that can be changed at any point during by calling the `set_auto_mouse_layer();` function. + +### Behaviour of Layer keys that activate the target layer +| Layer key as in `keymap.c` | Auto Mouse specific behaviour | +| -------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `MO()` | Treated as a mouse key holding the layer while pressed | +| `LT()` | When tapped will be treated as non mouse key and mouse key when held | +| `LM()` | Treated as a mouse key | +| `TG()` | Will set flag preventing target layer deactivation or removal until pressed again | +| `TO()` | Same as `TG()` | +| `TT()` | Treated as a mouse key when `tap.count < TAPPING_TOGGLE` and as `TG` when `tap.count == TAPPING_TOGGLE` | +| `DF()` | Skips auto mouse key processing similar to mod keys | +| `OSL()` | Skips, but if current one shot layer is the target layer then it will prevent target layer deactivation or removal | + + +## How to enable: + +```c +// in config.h: +#define POINTING_DEVICE_AUTO_MOUSE_ENABLE +// only required if not setting mouse layer elsewhere +#define AUTO_MOUSE_DEFAULT_LAYER + +// in keymap.c: +void pointing_device_init_user(void) { + set_auto_mouse_layer(); // only required if AUTO_MOUSE_DEFAULT_LAYER is not set to index of + set_auto_mouse_enable(true); // always required before the auto mouse feature will work +} +``` + +Because the auto mouse feature can be disabled/enabled during runtime and starts as disabled by default it must be enabled by calling `set_auto_mouse_enable(true);` somewhere in firmware before the feature will work. +_Note: for setting the target layer during initialization either setting `AUTO_MOUSE_DEFAULT_LAYER` in `config.h` or calling `set_auto_mouse_layer()` can be used._ + + +## How to Customize: + +There are a few ways to control the auto mouse feature with both `config.h` options and functions for controlling it during runtime. + +### `config.h` Options: +| Define | Description | Range | Units | Default | +| ----------------------------------- | --------------------------------------------------------------------- | :------------------: | :---------: | -------------------------: | +| `POINTING_DEVICE_AUTO_MOUSE_ENABLE` | (Required) Enables auto mouse layer feature | | _None_ | _Not defined_ | +| `AUTO_MOUSE_DEFAULT_LAYER` | (Optional) Index of layer to use as default target layer | 0 - `LAYER_MAX` | _`uint8_t`_ | `1` | +| `AUTO_MOUSE_TIME` | (Optional) Time layer remains active after activation | _ideally_ (250-1000) | _ms_ | `650 ms` | +| `AUTO_MOUSE_DELAY` | (Optional) Lockout time after non-mouse key is pressed | _ideally_ (100-1000) | _ms_ | `TAPPING_TERM` or `200 ms` | +| `AUTO_MOUSE_DEBOUNCE` | (Optional) Time delay from last activation to next update | _ideally_ (10 - 100) | _ms_ | `25 ms` | + +### Adding mouse keys + +While all default mouse keys and layer keys(for current mouse layer) are treated as mouse keys, additional Keyrecords can be added to mouse keys by adding them to the is_mouse_record_* stack. + +#### Callbacks for setting up additional key codes as mouse keys: +| Callback | Description | +| -------------------------------------------------------------------- | -------------------------------------------------- | +| `bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record)` | keyboard level callback for adding mouse keys | +| `bool is_mouse_record_user(uint16_t keycode, keyrecord_t* record)` | user/keymap level callback for adding mouse keys | + +##### To use the callback function to add mouse keys: + +The following code will cause the enter key and all of the arrow keys to be treated as mouse keys (hold target layer while they are pressed and reset active layer timer). +```c + +// in .c: +bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record) { + switch(keycode) { + case KC_ENT: + return true; + case KC_RIGHT ... KC_UP: + return true; + default: + return false; + } + return is_mouse_record_user(keycode, record); +} +``` + + +## Advanced control + +There are several functions that allow for more advanced interaction with the auto mouse feature allowing for greater control. + +### Functions to control auto mouse enable and target layer: +| Function | Description | Aliases | Return type | +| :--------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------- | --------------: | +| `set_auto_mouse_enable(bool enable)` | Enable or disable auto mouse (true:enable, false:disable) | | `void`(None) | +| `get_auto_mouse_enable(void)` | Return auto mouse enable state (true:enabled, false:disabled) | `AUTO_MOUSE_ENABLED` | `bool` | +| `set_auto_mouse_layer(uint8_t LAYER)` | Change/set the target layer for auto mouse | | `void`(None) | +| `get_auto_mouse_layer(void)` | Return auto mouse target layer index | `AUTO_MOUSE_TARGET_LAYER` | `uint8_t` | +| `remove_auto_mouse_layer(layer_state_t state, bool force)` | Return `state` with target layer removed if appropriate (ignore criteria if `force`) | | `layer_state_t` | +| `auto_mouse_layer_off(void)` | Disable target layer if appropriate will call (makes call to `layer_state_set`) | | `void`(None) | +| `auto_mouse_toggle(void)` | Toggle on/off target toggle state (disables layer deactivation when true) | | `void`(None) | +| `get_auto_mouse_toggle(void)` | Return value of toggling state variable | | `bool` | + +_NOTES:_ + - _Due to the nature of how some functions work, the `auto_mouse_trigger_reset`, and `auto_mouse_layer_off` functions should never be called in the `layer_state_set_*` stack as this can cause indefinite loops._ + - _It is recommended that `remove_auto_mouse_layer` is used in the `layer_state_set_*` stack of functions and `auto_mouse_layer_off` is used everywhere else_ + - _`remove_auto_mouse_layer(state, false)` or `auto_mouse_layer_off()` should be called before any instance of `set_auto_mouse_enabled(false)` or `set_auto_mouse_layer(layer)` to ensure that the target layer will be removed appropriately before disabling auto mouse or changing target to avoid a stuck layer_ + +### Functions for handling custom key events: +| Function | Description | Return type | +| :--------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------: | +| `auto_mouse_keyevent(bool pressed)` | Auto mouse mouse key event (true: key down, false: key up) | `void`(None) | +| `auto_mouse_trigger_reset(bool pressed)` | Reset auto mouse status on key down and start delay timer (non-mouse key event) | `void`(None) | +| `auto_mouse_toggle(void)` | Toggle on/off target toggle state (disables layer deactivation when true) | `void`(None) | +| `get_auto_mouse_toggle(void)` | Return value of toggling state variable | `bool` | +_NOTE: Generally it would be preferable to use the `is_mouse_record_*` functions to add any additional keys that should act as mouse keys rather than adding `auto_mouse_keyevent(record.event->pressed)` to `process_records_*`_ + +### Advanced control examples + +#### Disable auto mouse on certain layers: + +The auto mouse feature can be disabled any time and this can be helpful if you want to disable the auto mouse feature under certain circumstances such as when particular layers are active. One issue however is the handling of the target layer, it needs to be removed appropriately **before** disabling auto mouse _(see notes under control functions above)_. The following function would disable the auto_mouse feature whenever the layers `_LAYER5` through `_LAYER7` are active as the top most layer _(ignoring target layer)_. + +```c +// in keymap.c: +layer_state_t layer_state_set_user(layer_state_t state) { + // checks highest layer other than target layer + switch(get_highest_layer(remove_auto_mouse_layer(state, true))) { + case _LAYER5 ... _LAYER7: + // remove_auto_mouse_target must be called to adjust state *before* setting enable + state = remove_auto_mouse_layer(state, false); + set_auto_mouse_enable(false); + break; + default: + set_auto_mouse_enable(true); + break; + } + // recommend that any code that makes adjustment based on auto mouse layer state would go here + return state; +} +``` + +#### Set different target layer when a particular layer is active: + +The below code will change the auto mouse layer target to `_MOUSE_LAYER_2` when `_DEFAULT_LAYER_2` is highest default layer state. +*NOTE: that `auto_mouse_layer_off` is used here instead of `remove_auto_mouse_layer` as `default_layer_state_set_*` stack is separate from the `layer_state_set_*` stack* if something similar was to be done in `layer_state_set_user `state = remove_auto_mouse_layer(state, false)` should be used instead +*ADDITIONAL NOTE: `AUTO_MOUSE_TARGET_LAYER` is checked if already set to avoid deactivating the target layer unless needed* + +```c +// in keymap.c +layer_state_t default_layer_state_set_user(layer_state_t state) { + // switch on change in default layer need to check if target layer already set to avoid turning off layer needlessly + switch(get_highest_layer(state)) { + case _DEFAULT_LAYER_2: + if ((AUTO_MOUSE_TARGET_LAYER) == _MOUSE_LAYER_2) break; + auto_mouse_layer_off(); + set_auto_mouse_layer(_MOUSE_LAYER_2); + break; + + default: + if((AUTO_MOUSE_TARGET_LAYER) == _MOUSE_LAYER_1) break; + auto_mouse_layer_off(); + set_auto_mouse_layer(_MOUSE_LAYER_1); + } + return state; +} +``` + +### Use custom keys to control auto mouse: +Custom key records could also be created that control the auto mouse feature. +The code example below would create a custom key that would toggle the auto mouse feature on and off when pressed while also setting a bool that could be used to disable other code that may turn it on such as the layer code above. + +```c +// in config.h: +enum user_custom_keycodes { + AM_Toggle = SAFE_RANGE +}; + +// in keymap.c: +// set up global bool to adjust other user code +bool auto_mouse_tg_off = !AUTO_MOUSE_ENABLED; + +bool process_record_user(uint16_t keycode, keyrecord_t* record) { + switch (keycode) { + // toggle auto mouse enable key + case AM_Toggle: + if(record->event.pressed) { // key down + auto_mouse_layer_off(); // disable target layer if needed + set_auto_mouse_enabled((AUTO_MOUSE_ENABLED) ^ 1); + auto_mouse_tg_off = !get_auto_mouse_enabled(); + } // do nothing on key up + return false; // prevent further processing of keycode + } +} +``` + + +## Customize Target Layer Activation + +Layer activation can be customized by overwriting the `auto_mouse_activation` function. This function is checked every time `pointing_device_task` is called when inactive and every `AUTO_MOUSE_DEBOUNCE` ms when active, and will evaluate pointing device level conditions that trigger target layer activation. When it returns true, the target layer will be activated barring the usual exceptions _(e.g. delay time has not expired)_. + +By default it will return true if any of the `mouse_report` axes `x`,`y`,`h`,`v` are non zero, or if there is any mouse buttons active in `mouse_report`. +_Note: The Cirque pinnacle track pad already implements a custom activation function that will activate on touchdown as well as movement all of the default conditions, currently this only works for the master side of split keyboards._ + +| Function | Description | Return type | +| :--------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------: | +| `auto_mouse_activation(report_mouse_t mouse_report)` | Overwritable function that controls target layer activation (when true) | `bool` | + +## Auto Mouse for Custom Pointing Device Task + +When using a custom pointing device (overwriting `pointing_device_task`) the following code should be somewhere in the `pointing_device_task_*` stack: + +```c +void pointing_device_task(void) { + //...Custom pointing device task code + + // handle automatic mouse layer (needs report_mouse_t as input) + pointing_device_task_auto_mouse(local_mouse_report); + + //...More custom pointing device task code + + pointing_device_send(); +} +``` + +In general the following two functions must be implemented in appropriate locations for auto mouse to function: + +| Function | Description | Suggested location | +| -------------------------------------------------------------- | ------------------------------------------------------------ | ---------------------------: | +| `pointing_device_task_auto_mouse(report_mouse_t mouse_report)` | handles target layer activation and is_active status updates | `pointing_device_task` stack | +| `process_auto_mouse(uint16_t keycode, keyrecord_t* record)` | Keycode processing for auto mouse | `process_record` stack | diff --git a/keyboards/absolem/absolem.h b/keyboards/absolem/absolem.h index c9a53f447223..3d7950dfbde3 100644 --- a/keyboards/absolem/absolem.h +++ b/keyboards/absolem/absolem.h @@ -33,3 +33,5 @@ { K30, K29, K28, K27, K26 }, \ { KC_NO, KC_NO, K38, K37, K36 }, \ } + +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/absolem/keymaps/sadekbaroudi/config.h b/keyboards/absolem/keymaps/sadekbaroudi/config.h new file mode 100644 index 000000000000..6563b4b5642d --- /dev/null +++ b/keyboards/absolem/keymaps/sadekbaroudi/config.h @@ -0,0 +1,2 @@ +#define FP_LAYER_LIGHTING_MODE RGBLIGHT_MODE_SNAKE +#define FP_LAYER_LIGHTING_CAPS_LOCK_MODE RGBLIGHT_MODE_SNAKE diff --git a/keyboards/absolem/keymaps/sadekbaroudi/rules.mk b/keyboards/absolem/keymaps/sadekbaroudi/rules.mk new file mode 100644 index 000000000000..3bc0cce8b53a --- /dev/null +++ b/keyboards/absolem/keymaps/sadekbaroudi/rules.mk @@ -0,0 +1,6 @@ +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/FIRMWARE.md b/keyboards/fingerpunch/FIRMWARE.md new file mode 100644 index 000000000000..744a4c009ac6 --- /dev/null +++ b/keyboards/fingerpunch/FIRMWARE.md @@ -0,0 +1,185 @@ +# Firmware + +QMK repo: https://github.com/qmk/qmk_firmware +fingerpunch repo: https://github.com/sadekbaroudi/qmk_firmware + +Branches +* master - stable, synced with qmk master, but adds the fingerpunch keyboards ( keyboards/fingerpunch/ directory ) +* develop_fingerpunch - relatively stable, synced with qmk master, but contains new fingerpunch specific changes only, no changes to qmk itself... +* develop_qmk - synced with qmk develop, contains all the latest qmk changes only, along with the fingerpunch folder ( keyboards/fingerpunch/ directory ) + +![branch management](images/fingerpunch-repo-branch-management.png) + +## Default firmware + +### Github Actions + +The default firmware for all boards is built automatically for every keyboard with every commit. This is supported for both QMK and Vial. + +You can access them by clicking any commit here: +https://github.com/sadekbaroudi/qmk_firmware/actions +https://github.com/sadekbaroudi/vial-qmk/actions + +You can download the zip file and install the appropriate hex or uf2 to test out your keyboard: + +![github-actions-01](images/github-actions-01.png) +![github-actions-02](images/github-actions-02.png) +![github-actions-03](images/github-actions-03.png) + + +### Vial support + +Vial is supported for most of the fingerpunch keyboards, and you can download the vial firmware as described here: +[Github Actions](#Github-Actions) + + +## Building firmware + +There are a couple of methods to build firmware. The traditional method and the fingerpunch build script. + +To build your own firmware, the recommendation is to use the fingerpunch firmware builder, since it accounts for all the possible fingerpunch features. + +### fingerpunch build script + + The script is available in the git repo: + [/bin/fp_build.sh](/bin/fp_build.sh) + + In other words, you run it from the qmk root directory as follows: + ``` + $ bin/fp_build.sh -h + + Usage: bin/fp_build.sh -k -m -c -r -h + + -l list valid keyboards (optional, overrides all other options) + -k keyboard directory (optional, default is all fingerpunch keyboards) + -m keymap (optional, defaults to the 'default' keymap) + -c add CONVERT_TO parameter for a controller (eg -c stemcell) + -i (interactive mode, take feature selection user input to generate build command) + -r (run the build command(s), defaults to outputting the build string) + -h (show this dialog) + ``` + +The interactive mode will help you configure based on your keyboard setup. For example: + +``` +$ bin/fp_build.sh -k ffkb_byomcu/v3 -m default -i -c stemcell -r +Running for keyboards/fingerpunch/ffkb_byomcu/v3 +make fingerpunch/ffkb_byomcu/v3:default +Do you have a cirque? (yes/no): n +Do you have a trackball? (yes/no): y +No RGB, RGB light, RGB matrix? (0-2): 2 +No rotary encoders, EC11, or EVQ? (0-2): 1 + +make fingerpunch/ffkb_byomcu/v3:default CIRQUE_ENABLE=no FP_TRACKBALL_ENABLE=yes RGB_MATRIX_ENABLE=yes FP_EC11=yes CONVERT_TO=stemcell +fp_build.sh: Running QMK Build.... +``` + +### Traditional QMK method + +In the same way that you build any other keyboard, you can do the same for fingerpunch boards. The thing to consider is that there are options for each keyboard that you should be aware of. + +For your keyboard, review the fp_build.jason to see the possible options. For example: + [/keyboards/fingerpunch/ffkb_byomcu/v3](/keyboards/fingerpunch/ffkb_byomcu/v3) + +Example command: +`make fingerpunch/ffkb_byomcu/v3:default CIRQUE_ENABLE=no FP_TRACKBALL_ENABLE=yes RGB_MATRIX_ENABLE=yes FP_EC11=yes CONVERT_TO=stemcell` + +Anything that is in all caps can be set as a build option followed by `=yes` + +For example, this is from `keyboards/fingerpunch/ffkb_byomcu/v3/fp_build.json` +![fp-build-json](images/fp-build-json.png) + +### STeMCell or other controllers + +For other controllers, you can use the CONVERT_TO build parameter: +https://github.com/qmk/qmk_firmware/blob/master/docs/feature_converters.md + +So, for example, for the STeMCell, you can add `-c stemcell` if using the fingerpunch build script, or you can add CONVERT_TO=stemcell at the end of your build string if using the Traditional QMK build script + +Also note that stemcell uses tinyuf2, so you'll want to use the .uf2 file instead of the .bin or .hex file as you would with other controllers + +### One time build + +Starting with no repository, here's an example of building stock ffkb firmware with rgbmatrix and ec11 encoders: +```bash +# Cloning the repo +git clone git@github.com:sadekbaroudi/qmk_firmware.git +cd qmk_firmware +git submodule update --init --recursive +# Checking out the stemcell repo +git submodule update +# Running the firmware build +make fingerpunch/ffkb_byomcu/v3:default CIRQUE_ENABLE=no FP_TRACKBALL_ENABLE=yes RGB_MATRIX_ENABLE=yes FP_EC11=yes CONVERT_TO=stemcell + +# Build firmware will be .build/fingerpunch_ffkb_byomcu_rgbmatrix_ec11_default.hex +# Copy the hex file and use QMK toolbox to load it +# If using a uf2, copy the uf2 file somewhere where you can drag and drop it to flash your STeMcell +``` + +### Managing fingerpunch code in your repository + +Now, you may ask yourself the question: "But how do I organize and manage my code in there?" + +My recommendation is to add my repo as a remote repository to yours. So, instead of cloning my repo, add it to yours using "git remote" + +Note that you can do the below multiple times for different keyboards by replacing the branch name ffkb with whatever you like. You will not need to repeat the "git remote add" command once you have run it the first time. + +```bash +# Add the fingerpunch repo as a remote repository +git remote add fingerpunch git@github.com:sadekbaroudi/qmk_firmware.git +git fetch fingerpunch + +# Checkout the master branch as a branch that tracks your keyboard. Let's use ffkb in this example +git checkout -b ffkb fingerpunch/master +git submodule update + +# add your keymap, code, etc into keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/{your_keymap_dir} + +# commit your changes +git commit -a -m "Your commit message" + +# push the branch to your repo +git push origin ffkb + +# If you ever want to update from the latest fingerpunch stemcell branch in the future +git fetch fingerpunch +git merge fingerpunch/master +git push origin ffkb +``` + +## Contributing + +Note that I will only accept fingerpunch changes (in the keyboards/fingerpunch/ directory), which go into the develop_fingerpunch branch. If there are changes outside of that, they should be pull requests into qmk directly. + +If you'd like to contribute, you can do the following: +```bash +# ...in your qmk cloned repository +# If you haven't already, create a remote of the fingerpunch repo +git add remote fingerpunch git@github.com:sadekbaroudi/qmk_firmware.git +git fetch fingerpunch + +# Checkout a feature branch based on develop_fingerpunch +git checkout -b features/fingerpunch/YOUR_FEATURE_BRANCH_NAME fingerpunch/develop_fingerpunch + +# Make your changes + +# Commit your changes +git commit -a -m "YOUR COMMIT MESSAGE" + +# Push your changes to your fork +git push origin features/fingerpunch/YOUR_FEATURE_BRANCH_NAME + +# Submit your pull request on github (see below) +``` + +Once you have your branch in your fork, you can go to the pull requests page for my repo: + +https://github.com/sadekbaroudi/qmk_firmware/compare/sadekbaroudi:develop_fingerpunch...Keychron:qmk_firmware:audio_out + +You'll need to change the head repository and branch to yours (circled in green below) + +Please fill in a sensible description to explain what you are changing and why! + +![contributing-pr](images/contributing-pr.jpg) + +Submit the pull request and notify me to review. \ No newline at end of file diff --git a/keyboards/fingerpunch/FP_LIBRARY_SUPPORT.md b/keyboards/fingerpunch/FP_LIBRARY_SUPPORT.md new file mode 100644 index 000000000000..b0336a677031 --- /dev/null +++ b/keyboards/fingerpunch/FP_LIBRARY_SUPPORT.md @@ -0,0 +1,61 @@ +# Adding fingerpunch feature support + +The purpose of this doc is mostly to make note to myself on adding the fingerpunch library support, as described in the README.md in this directory. + +That said, if you are looking to leverage the features, you may be able to follow these steps for your keyboard as well. Note that this is untested. + +## Required additions to the keyboard codebase + +1. Add the following line to your keyboard {keyboard_name}.h file, e.g. ffkb_byomcu.h + +`#include "keyboards/fingerpunch/fp.h"` + +2. Include the source files in your keyboard's `rules.mk` file + +Note that below is an example. You should check for the latest version of this code block as found in `keyboards/fingerpunch/ffkb_byomcu/rules.mk` + +```make +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c +``` + +## Personal notes for Sadek's keymaps + +* Add the following to my keymap + * `FP_SCROLL_TOG` (pointing) + * `FP_SNIPE_TOG` (pointing) + * `FP_SUPER_TAB` (replace `S_ALT_TAB` if it exists) +* Change keymap mouse layer for pointing keyboards with pointing devices + * `__________________MOUSE_1__________________` to `_______________AUTO_MOUSE_1________________` +* Add the keyboard to my personal userspace `process_records.h` so that I can continue to use my own keycodes in addition to fingerpunch ones + +```C +// Check to see which keyboard you're using, and define the PLACEHOLDER_SAFE_RANGE based on that. +#if defined(KEYBOARD_fingerpunch_arachnophobe) \ + || defined(KEYBOARD_fingerpunch_barobord) \ + || defined(KEYBOARD_fingerpunch_barobord_byomcu) \ + || defined(KEYBOARD_fingerpunch_bgkeeb) \ + || defined(KEYBOARD_fingerpunch_bigbarobord) \ + || defined(KEYBOARD_fingerpunch_euclid36) \ + || defined(KEYBOARD_fingerpunch_euclid36_proto) \ + || defined(KEYBOARD_fingerpunch_ffkb) \ + || defined(KEYBOARD_fingerpunch_ffkb_byomcu_v1) \ + || defined(KEYBOARD_fingerpunch_ffkb_byomcu_v2) \ + || defined(KEYBOARD_fingerpunch_ffkb_byomcu_v3) \ + || defined(KEYBOARD_fingerpunch_luakeeb) \ + || defined(KEYBOARD_fingerpunch_pinkiesout) \ + || defined(KEYBOARD_fingerpunch_rockon_v1) \ + || defined(KEYBOARD_fingerpunch_rockon_v2) \ + || defined(KEYBOARD_fingerpunch_rockon_bp) \ + || defined(KEYBOARD_fingerpunch_sweeeeep) \ + || defined(KEYBOARD_fingerpunch_ximi) +# define PLACEHOLDER_SAFE_RANGE FP_SAFE_RANGE +#else +# define PLACEHOLDER_SAFE_RANGE SAFE_RANGE +#endif +``` diff --git a/keyboards/fingerpunch/README.md b/keyboards/fingerpunch/README.md new file mode 100644 index 000000000000..c60d8b071b27 --- /dev/null +++ b/keyboards/fingerpunch/README.md @@ -0,0 +1,217 @@ +# fingerpunch keyboards + +## Building + +For general firmware build walkthrough and instructions, please see: +[FIRMWARE.md](FIRMWARE.md) + +## Operating system + +| Setting | Description | Default | +| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | +| `FP_MAC_PREFERRED` | (Optional) If you are primarily using a Mac, enable to use Mac specific logic for fingerpunch features (mostly for keycodes) | `undefined` | + +## Keycodes and settings + +### Settings + +| Setting | Description | Default | +| --------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -------------------------------- | +| `FP_DISABLE_CUSTOM_KEYCODES` | (Optional) Disables all the custom keycodes defined in the Keycodes section on this page | `undefined` | +| `FP_SUPER_TAB_TIMEOUT` | (Required) Sets the timeout (in milliseconds) for the alt tab (using keycode `FP_SUPER_TAB`) to go away | `500` | + +### Keycodes + +| Key | Description | +| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `FP_SCROLL_TOG` | Pointing Device: Toggle scrolling mode | +| `FP_SCROLL_ON` | Pointing Device: Turn on scrolling mode | +| `FP_SCROLL_OFF` | Pointing Device: Turn off scrolling mode | +| `FP_SNIPE_TOG` | Pointing Device: Toggle sniping mode | +| `FP_SNIPE_ON` | Pointing Device: Turn on sniping mode | +| `FP_SNIPE_OFF` | Pointing Device: Turn off sniping mode | +| `FP_SUPER_TAB` | Super alt tab, tap to alt tab instead of holding alt, supports holding shift to alt tab backwards (to use on Mac, see `FP_MAC_PREFERRED` and see `FP_SUPER_TAB_TIMEOUT` to change timeout) | + +Note: if you are using a userspace, and you have custom keycodes, you will need to add some logic in your userspace keycodes .h file that will handle the `SAFE_RANGE` appropriately. + +```C +// Check to see which keyboard you're using, and define the PLACEHOLDER_SAFE_RANGE based on that. +#if defined(KEYBOARD_fingerpunch_arachnophobe) \ + || defined(KEYBOARD_fingerpunch_barobord) \ + || defined(KEYBOARD_fingerpunch_barobord_byomcu) \ + || defined(KEYBOARD_fingerpunch_bgkeeb) \ + || defined(KEYBOARD_fingerpunch_bigbarobord) \ + || defined(KEYBOARD_fingerpunch_euclid36) \ + || defined(KEYBOARD_fingerpunch_euclid36_proto) \ + || defined(KEYBOARD_fingerpunch_ffkb) \ + || defined(KEYBOARD_fingerpunch_ffkb_byomcu_v1) \ + || defined(KEYBOARD_fingerpunch_ffkb_byomcu_v2) \ + || defined(KEYBOARD_fingerpunch_ffkb_byomcu_v3) \ + || defined(KEYBOARD_fingerpunch_fflx) \ + || defined(KEYBOARD_fingerpunch_luakeeb) \ + || defined(KEYBOARD_fingerpunch_pinkiesout) \ + || defined(KEYBOARD_fingerpunch_rockon_v1) \ + || defined(KEYBOARD_fingerpunch_rockon_v2) \ + || defined(KEYBOARD_fingerpunch_rockon_v3) \ + || defined(KEYBOARD_fingerpunch_rockon_bp) \ + || defined(KEYBOARD_fingerpunch_sweeeeep) \ + || defined(KEYBOARD_fingerpunch_ximi) \ +# define PLACEHOLDER_SAFE_RANGE FP_SAFE_RANGE +#else +# define PLACEHOLDER_SAFE_RANGE SAFE_RANGE +#endif + +enum userspace_custom_keycodes { + YOUR_KEYCODE_1 = PLACEHOLDER_SAFE_RANGE, + YOUR_KEYCODE_2, +... + NEW_SAFE_RANGE, +} +``` +## Pointing Device + +### General Settings + +| Setting | Description | Default | +| --------------------------------------- | ----------------------------------------------------------------------------------------- | -------------------------------- | +| `FP_POINTING_DEFAULT_DPI` | (Required) Sets the default DPI for your pointing device | `1000` | +| `FP_POINTING_SCROLLING_DPI` | (Required) Sets the default DPI for scrolling | `50` | +| `FP_POINTING_SCROLLING_LAYER_ENABLE` | (Optional) Enables scrolling mode for the layer `FP_POINTING_SCROLLING_LAYER` | `undefined` | +| `FP_POINTING_SCROLLING_LAYER` | (Required) Defines the layer used to enable scrolling | `3` (`_RAISE` on default keymap) | +| `FP_POINTING_SNIPING_DPI` | (Required) Sets the default DPI for scrolling | `50` | +| `FP_POINTING_SNIPING_LAYER_ENABLE` | (Required) Enables scrolling mode for the layer `FP_POINTING_SNIPING_LAYER` | `undefined` | +| `FP_POINTING_SNIPING_LAYER` | (Required) Defines the layer used to enable sniping | `2` (`_LOWER` on default keymap) | + + + +### Combined Pointing Devices + +This only applies if you are using a split fingerpunch keyboard with two pointing devices. The default is for the left one to be scrolling, and the right one to act as the mouse, but this is configurable via `FP_POINTING_COMBINED_SCROLLING_LEFT` and `FP_POINTING_COMBINED_SCROLLING_RIGHT` + +| Setting | Description | Default | +| --------------------------------------- | ------------------------------------------------------------------- | -------------------------- | +| `FP_POINTING_COMBINED_SCROLLING_LEFT` | (Required) Sets default behavior to scrolling on the left half | `true` | +| `FP_POINTING_COMBINED_SCROLLING_RIGHT` | (Required) Sets default behavior to scrolling on the right half | `false` | + + +### Auto mouse layer + +As of 2022-09-26, this has been pulled in early from qmk develop, but should be available in the Q4 release. See the documentation here: +https://github.com/qmk/qmk_firmware/blob/develop/docs/feature_pointing_device.md#automatic-mouse-layer-idpointing-device-auto-mouse + +This is fully supported. Once I merge the next major release in Q4, I will remove this documentation. + +In addition to the default configurations, there are additional features added to fingerpunch keyboards: + +| Setting | Description | Default | +| ------------------------------------------------ | ------------------------------------------------------------------------------- | ------------------------------- | +| `FP_AUTO_MOUSE_TRACKBALL_SENSITIVITY` | (Required) Trackball auto mouse sensitivity value | `3` | + +(Additional auto mouse configuration in the layer lighting section) + +More detail on `FP_AUTO_MOUSE_TRACKBALL_SENSITIVITY`. If you are experiencing that the auto mouse layer triggers while typing, you can adjust this value. The default for for the core qmk feature is 0, which works great for trackpads. As you increase, it will require more mouse movement to trigger auto mouse layer. The default for trackballs on fingerpunch keyboards is 3. This value is only applied if you are using a trackball, and is otherwise ignored. + +Note that I'm automatically enabling the feature if you add the `POINTING_DEVICE_AUTO_MOUSE_ENABLE` and `AUTO_MOUSE_DEFAULT_LAYER` to your config.h, such that you don't have to add this code: +```c +// in keymap.c: +void pointing_device_init_user(void) { + set_auto_mouse_layer(); // only required if AUTO_MOUSE_DEFAULT_LAYER is not set to index of + set_auto_mouse_enable(true); // always required before the auto mouse feature will work +} +``` + +## RGB Lighting + +Notes: +* Unless otherwise specified, features for rgb are supported on both rgblight ( https://github.com/qmk/qmk_firmware/blob/master/docs/feature_rgblight.md ) and rgb matrix ( https://github.com/qmk/qmk_firmware/blob/master/docs/feature_rgb_matrix.md ). +* The base layer is still configurable using the QMK rgb keycodes ( https://github.com/qmk/qmk_firmware/blob/master/docs/feature_rgblight.md#keycodes ). If you want the base layer to be static, you will need to define the `FP_LAYER_LIGHTING_DYNAMIC_BASE_LAYER_DISABLE` config. + +Some config parameters will depend on which you're using, like `FP_LAYER_LIGHTING_MODE`. + +### Layer lighting + +Please note that the `FP_LAYER_LIGHTING_AUTO_MOUSE_ENABLE` will be automatically disabled unless you define `FP_LAYER_LIGHTING_DISABLE`. Given that this fingerpunch layer lighting will handle the auto mouse layer as well, you don't need to activate the layer lighting twice. Just set the mouse layer lighting to the color you prefer using the `FP_LAYER_LIGHTING_HUE_X` below. + +| Setting | Description | Default | +| ----------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------ | +| `FP_STARTUP_ANIMATION_DISABLE` | (Optional) Define this to disable startup animation | | +| `FP_LAYER_LIGHTING_DISABLE` | (Optional) Define this to disable layer lighting | `undefined` | +| `FP_LAYER_LIGHTING_DYNAMIC_BASE_LAYER_DISABLE` | (Optional) While using layer lighting, disable dynamically changing the base layer | `undefined` | +| `FP_LAYER_LIGHTING_MODE` | (Required) Set the layer lighting default mode | `RGBLIGHT_MODE_STATIC_LIGHT` or `RGB_MATRIX_SOLID_COLOR` | +| `FP_LAYER_LIGHTING_HUE_0` | (Required) Set the layer lighting hue for layer 0 | `HSV_BLUE` | +| `FP_LAYER_LIGHTING_HUE_1` | (Required) Set the layer lighting hue for layer 1 | `HSV_WHITE` | +| `FP_LAYER_LIGHTING_HUE_2` | (Required) Set the layer lighting hue for layer 2 | `HSV_GREEN` | +| `FP_LAYER_LIGHTING_HUE_3` | (Required) Set the layer lighting hue for layer 3 | `HSV_PURPLE` | +| `FP_LAYER_LIGHTING_HUE_4` | (Required) Set the layer lighting hue for layer 4 | `HSV_YELLOW` | +| `FP_LAYER_LIGHTING_HUE_5` | (Required) Set the layer lighting hue for layer 5 | `FP_HSV_MELON` | +| `FP_LAYER_LIGHTING_HUE_6` | (Required) Set the layer lighting hue for layer 6 | `HSV_CYAN` | +| `FP_LAYER_LIGHTING_HUE_7` | (Required) Set the layer lighting hue for layer 7 | `HSV_SPRINGGREEN` | +| `FP_LAYER_LIGHTING_MODE_0` | (Required) Set the layer lighting mode for layer 0 | `FP_LAYER_LIGHTING_MODE` | +| `FP_LAYER_LIGHTING_MODE_1` | (Required) Set the layer lighting mode for layer 1 | `FP_LAYER_LIGHTING_MODE` | +| `FP_LAYER_LIGHTING_MODE_2` | (Required) Set the layer lighting mode for layer 2 | `FP_LAYER_LIGHTING_MODE` | +| `FP_LAYER_LIGHTING_MODE_3` | (Required) Set the layer lighting mode for layer 3 | `FP_LAYER_LIGHTING_MODE` | +| `FP_LAYER_LIGHTING_MODE_4` | (Required) Set the layer lighting mode for layer 4 | `FP_LAYER_LIGHTING_MODE` | +| `FP_LAYER_LIGHTING_MODE_5` | (Required) Set the layer lighting mode for layer 5 | `FP_LAYER_LIGHTING_MODE` | +| `FP_LAYER_LIGHTING_MODE_6` | (Required) Set the layer lighting mode for layer 6 | `FP_LAYER_LIGHTING_MODE` | +| `FP_LAYER_LIGHTING_MODE_7` | (Required) Set the layer lighting mode for layer 7 | `FP_LAYER_LIGHTING_MODE` | +| `FP_LAYER_LIGHTING_CAPS_LOCK_HUE` | (Required) Set the layer lighting hue when caps lock is enabled | `HSV_RED` | +| `FP_LAYER_LIGHTING_CAPS_LOCK_MODE` | (Required) Set the layer lighting mode when caps lock is enabled | `FP_LAYER_LIGHTING_MODE` | +| `FP_LAYER_LIGHTING_AUTO_MOUSE_ENABLE` | (Optional) If using RGB, set the layer lighting when auto mouse is triggered | `undefined` | +| `FP_LAYER_LIGHTING_AUTO_MOUSE_HUE` | (Required) This is the hue that is used for the auto mouse layer lighting | `HSV_ORANGE` | +| `FP_LAYER_LIGHTING_AUTO_MOUSE_MODE` | (Required) This is the mode that is used for the auto mouse layer lighting | `FP_LAYER_LIGHTING_MODE` | + +### Additional colors + +| Define | HSV | Reference | +| --------------------- | ----------------- | ----------------------------------------------------- | +| `FP_HSV_LAVENDER` | `184, 200, 255` | https://encycolorpedia.com/ccb3ff | +| `FP_HSV_LEMON` | `43, 200, 255` | https://encycolorpedia.com/ffff9f | +| `FP_HSV_LIME` | `63, 225, 255` | https://encycolorpedia.com/9efd38 | +| `FP_HSV_MELON` | `0, 180, 255` | https://encycolorpedia.com/febaad | +| `FP_HSV_MINT` | `84, 185, 255` | https://encycolorpedia.com/98ff98 | + + +## Haptic Feedback + +Enable special haptic feedback features. + +Note that the ctrl-X haptic feedback responses will use control as the modifier, so it won't work on a Mac by default. However, if are primarily using a Mac, enable the `FP_MAC_PREFERRED` in your config.h + +| Setting | Description | Default | +| --------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------- | +| `FP_HAPTIC_MOUSE_BUTTONS` | (Optional) Enable haptic feedback response for Mouse 1, 2, and 3 | `undefined` | +| `FP_HAPTIC_CUT_COPY_PASTE` | (Optional) Enable haptic feedback response for ctrl-x, ctrl-c, ctrl-v | `undefined` | +| `FP_HAPTIC_SAVE` | (Optional) Enable haptic feedback response for ctrl-s | `undefined` | + + +## Keymap + +If you are looking to use process_record_kb() or process_record + + +## Debugging + +| Setting | Description | Default | +| --------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `FP_SR595_MATRIX_DEBUG` | (Optional) Enable debugging the 74hc595 shift register code | `undefined` | +| `FP_SR595_MATRIX_DEBUG_RATIO` | (Optional) Frequency for outputting matrix scan information for the shift register (1 in X scans) | `10000` | + +## STeMCell v1.0.0 + +There aren't many of these out there, but if you are running one, you'll need to make the following changes before building: +``` +// In platforms/chibios/converters/promicro_to_stemcell/_pin_defs.h +// Add this to the bottom of the file + +// SADEK: For STeMCell v1.0.0, need to swap B1 and B2, since the hardware has it swapped +#undef B1 +#define B1 PAL_LINE(GPIOA, 7) +#undef B2 +#define B2 PAL_LINE(GPIOA, 5) +``` + +## Appreciation + +Thank you: +* Drashna - for the great examples in their userspace implementation. +* Wilbatech - for the example of keyboard agnostic code in QMK. diff --git a/keyboards/fingerpunch/TODO.md b/keyboards/fingerpunch/TODO.md new file mode 100644 index 000000000000..102649efd289 --- /dev/null +++ b/keyboards/fingerpunch/TODO.md @@ -0,0 +1,5 @@ +- [ ] Add audio features (Ex: sound when capslock or capsword are enabled and disabled) +- [ ] More haptic features (Ex: capslock/capsword feedback) +- [ ] (personal item) migrate my capsword to core qmk +- [ ] add xcase features to fingerpunch +- [ ] move ximi matrix_74hc595_spi.c logic into the fp_matrix_74hc595_spi.c diff --git a/keyboards/fingerpunch/arachnophobe/arachnophobe.h b/keyboards/fingerpunch/arachnophobe/arachnophobe.h index 2358a36157f3..7bb81214724f 100644 --- a/keyboards/fingerpunch/arachnophobe/arachnophobe.h +++ b/keyboards/fingerpunch/arachnophobe/arachnophobe.h @@ -39,3 +39,5 @@ { K36, K18, K29, K09, K1A, K2A }, \ { K37, K28, K08, K19, K38, K27 }, \ } + +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/arachnophobe/rules.mk b/keyboards/fingerpunch/arachnophobe/rules.mk index dd24a3e8d795..bc80a0871246 100644 --- a/keyboards/fingerpunch/arachnophobe/rules.mk +++ b/keyboards/fingerpunch/arachnophobe/rules.mk @@ -26,6 +26,15 @@ 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 ENCODER_ENABLE = no -OLED_DRIVER_ENABLE = no # this can be yes or no depending on if you have an OLED +OLED_ENABLE = no # this can be yes or no depending on if you have an OLED EXTRAFLAGS += -flto # macros enable or disable MOUSEKEY_ENABLE = yes + +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/barobord/barobord.h b/keyboards/fingerpunch/barobord/barobord.h index fe8de5a9df6c..4ea7cdf7b207 100644 --- a/keyboards/fingerpunch/barobord/barobord.h +++ b/keyboards/fingerpunch/barobord/barobord.h @@ -40,3 +40,5 @@ { K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, K50 }, \ { K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K51 } \ } + +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/barobord/config.h b/keyboards/fingerpunch/barobord/config.h index 85aca77dfd9a..28bf1b366adc 100644 --- a/keyboards/fingerpunch/barobord/config.h +++ b/keyboards/fingerpunch/barobord/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . //#define DEVICE_VER 0x0001 // Now defined in the revX/config.h #define MANUFACTURER sadekbaroudi #define PRODUCT sadekbaroudi barobord -#define DESCRIPTION sadekbaroudi barobord /* key matrix size */ /* Rows are doubled up */ @@ -38,7 +37,6 @@ along with this program. If not, see . { B0, B1, B6, C6 } #define MATRIX_COL_PINS \ { F1, F4, F5, F6, F7, B3, B2, D2, D3, D5, C7 } -#define UNUSED_PINS /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 @@ -52,32 +50,23 @@ along with this program. If not, see . #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 - #define RGBLIGHT_LIMIT_VAL 60 /* The maximum brightness level for RGBLIGHT_ENABLE */ + #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level for RGBLIGHT_ENABLE */ #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 + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_TWINKLE #endif #ifdef RGB_MATRIX_ENABLE #define DRIVER_LED_TOTAL 40 #define RGB_MATRIX_CENTER {100, 32} - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 60 /* The maximum brightness level for RGB_MATRIX */ + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 /* The maximum brightness level for RGB_MATRIX */ #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -135,4 +124,3 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/fingerpunch/barobord/ec11/config.h b/keyboards/fingerpunch/barobord/ec11/config.h deleted file mode 100644 index 5ece337ba1d4..000000000000 --- a/keyboards/fingerpunch/barobord/ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/ec11/rules.mk b/keyboards/fingerpunch/barobord/ec11/rules.mk deleted file mode 100644 index bf59a319db9a..000000000000 --- a/keyboards/fingerpunch/barobord/ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/evq/config.h b/keyboards/fingerpunch/barobord/evq/config.h deleted file mode 100644 index 41409abf1650..000000000000 --- a/keyboards/fingerpunch/barobord/evq/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/evq/rules.mk b/keyboards/fingerpunch/barobord/evq/rules.mk deleted file mode 100644 index bf59a319db9a..000000000000 --- a/keyboards/fingerpunch/barobord/evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/fp_build.json b/keyboards/fingerpunch/barobord/fp_build.json new file mode 100644 index 000000000000..07c80e3d4956 --- /dev/null +++ b/keyboards/fingerpunch/barobord/fp_build.json @@ -0,0 +1,22 @@ +[ + { + "type" : "one-of", + "names" : [ "RGBLIGHT_ENABLE", "RGB_MATRIX_ENABLE" ], + "user_input": "No RGB, RGB light, RGB matrix?" + }, + { + "type" : "single", + "name" : "OLED_ENABLE", + "user_input": "Do you have an OLED?" + }, + { + "type" : "single", + "name" : "ENCODER_ENABLE", + "user_input": "Do you have one or more rotary encoders?" + }, + { + "type" : "single", + "name" : "PIMORONI_TRACKBALL_ENABLE", + "user_input": "Do you have a pimoroni trackball?" + } +] \ No newline at end of file diff --git a/keyboards/fingerpunch/barobord/keymaps/default/keymap.c b/keyboards/fingerpunch/barobord/keymaps/default/keymap.c index 6e4c7c6e6b3c..6b0119f649e7 100644 --- a/keyboards/fingerpunch/barobord/keymaps/default/keymap.c +++ b/keyboards/fingerpunch/barobord/keymaps/default/keymap.c @@ -235,7 +235,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { diff --git a/keyboards/fingerpunch/barobord/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/barobord/keymaps/sadekbaroudi/keymap.c index 96f96985a6db..df275749088d 100644 --- a/keyboards/fingerpunch/barobord/keymaps/sadekbaroudi/keymap.c +++ b/keyboards/fingerpunch/barobord/keymaps/sadekbaroudi/keymap.c @@ -110,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { diff --git a/keyboards/fingerpunch/barobord/keymaps/via/keymap.c b/keyboards/fingerpunch/barobord/keymaps/via/keymap.c index 2bde8ddc3ea8..b8769b55a73e 100644 --- a/keyboards/fingerpunch/barobord/keymaps/via/keymap.c +++ b/keyboards/fingerpunch/barobord/keymaps/via/keymap.c @@ -206,7 +206,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { diff --git a/keyboards/fingerpunch/barobord/no_features/config.h b/keyboards/fingerpunch/barobord/no_features/config.h deleted file mode 100644 index d4903b376d72..000000000000 --- a/keyboards/fingerpunch/barobord/no_features/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/no_features/rules.mk b/keyboards/fingerpunch/barobord/no_features/rules.mk deleted file mode 100644 index 38edc894a4cd..000000000000 --- a/keyboards/fingerpunch/barobord/no_features/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/oled/config.h b/keyboards/fingerpunch/barobord/oled/config.h deleted file mode 100644 index ad2d60bdb429..000000000000 --- a/keyboards/fingerpunch/barobord/oled/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/oled/rules.mk b/keyboards/fingerpunch/barobord/oled/rules.mk deleted file mode 100644 index af0bb8f88859..000000000000 --- a/keyboards/fingerpunch/barobord/oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/oled_ec11/config.h b/keyboards/fingerpunch/barobord/oled_ec11/config.h deleted file mode 100644 index 220ac4240ba6..000000000000 --- a/keyboards/fingerpunch/barobord/oled_ec11/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/oled_ec11/rules.mk b/keyboards/fingerpunch/barobord/oled_ec11/rules.mk deleted file mode 100644 index e2d19dfcc484..000000000000 --- a/keyboards/fingerpunch/barobord/oled_ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/oled_evq/config.h b/keyboards/fingerpunch/barobord/oled_evq/config.h deleted file mode 100644 index 54ed43e07490..000000000000 --- a/keyboards/fingerpunch/barobord/oled_evq/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/oled_evq/rules.mk b/keyboards/fingerpunch/barobord/oled_evq/rules.mk deleted file mode 100644 index e2d19dfcc484..000000000000 --- a/keyboards/fingerpunch/barobord/oled_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/pimoroni/config.h b/keyboards/fingerpunch/barobord/pimoroni/config.h deleted file mode 100644 index e94ecab67de7..000000000000 --- a/keyboards/fingerpunch/barobord/pimoroni/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/pimoroni/rules.mk b/keyboards/fingerpunch/barobord/pimoroni/rules.mk deleted file mode 100644 index 9880edc91129..000000000000 --- a/keyboards/fingerpunch/barobord/pimoroni/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/pimoroni_ec11/config.h b/keyboards/fingerpunch/barobord/pimoroni_ec11/config.h deleted file mode 100644 index 3824353b1a4b..000000000000 --- a/keyboards/fingerpunch/barobord/pimoroni_ec11/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/pimoroni_ec11/rules.mk b/keyboards/fingerpunch/barobord/pimoroni_ec11/rules.mk deleted file mode 100644 index dad28b93e51c..000000000000 --- a/keyboards/fingerpunch/barobord/pimoroni_ec11/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/pimoroni_evq/config.h b/keyboards/fingerpunch/barobord/pimoroni_evq/config.h deleted file mode 100644 index 6e1f4f287ac8..000000000000 --- a/keyboards/fingerpunch/barobord/pimoroni_evq/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/pimoroni_evq/rules.mk b/keyboards/fingerpunch/barobord/pimoroni_evq/rules.mk deleted file mode 100644 index dad28b93e51c..000000000000 --- a/keyboards/fingerpunch/barobord/pimoroni_evq/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/readme.md b/keyboards/fingerpunch/barobord/readme.md index a6c394076b86..529987ca6165 100644 --- a/keyboards/fingerpunch/barobord/readme.md +++ b/keyboards/fingerpunch/barobord/readme.md @@ -6,33 +6,19 @@ An ergonomic 30% keyboard Barobord supports vial! Build the via keymap as shown in the commands, and then use Vial to sideload via.json -To build the firmware for this keyboard (after setting up your build environment), select from one of the following, depending on what features you have on your board: - - make fingerpunch/barobord/ec11:via - make fingerpunch/barobord/evq:via - make fingerpunch/barobord/no-features:via - make fingerpunch/barobord/oled:via - make fingerpunch/barobord/oled-ec11:via - make fingerpunch/barobord/oled-evq:via - make fingerpunch/barobord/pimoroni:via - make fingerpunch/barobord/pimoroni-ec11:via - make fingerpunch/barobord/pimoroni-evq:via - make fingerpunch/barobord/readme.md:via - make fingerpunch/barobord/rgblight:via - make fingerpunch/barobord/rgblight-oled-ec11:via - make fingerpunch/barobord/rgblight-oled-evq:via - make fingerpunch/barobord/rgblight-pimoroni-ec11:via - make fingerpunch/barobord/rgblight-pimoroni-evq:via - make fingerpunch/barobord/rgbmatrix:via - make fingerpunch/barobord/rgbmatrix-oled-ec11:via - make fingerpunch/barobord/rgbmatrix-oled-evq:via - make fingerpunch/barobord/rgbmatrix-pimoroni-ec11:via - make fingerpunch/barobord/rgbmatrix-pimoroni-evq:via - -Example of flashing this keyboard: - - make fingerpunch/barobord/no-features:via:flash - +To build the firmware for this keyboard (after setting up your build environment): +``` + make fingerpunch/barobord:default RGBLIGHT_ENABLE=yes ENCODER_ENABLE=yes PIMORONI_TRACKBALL_ENABLE=yes +``` + +Options are: +``` + RGBLIGHT_ENABLE=yes + RGB_MATRIX_ENABLE=yes + OLED_ENABLE=yes + ENCODER_ENABLE=yes + PIMORONI_TRACKBALL_ENABLE=yes +``` Once you have completed the build, flash it onto your keyboard. At this point, make sure you have [Vial](https://get.vial.today/) installed. Use the "Sideload VIA JSON" and use the via.json found in this directory. You should be able to edit your keymap directly from your machine! diff --git a/keyboards/fingerpunch/barobord/rgblight/config.h b/keyboards/fingerpunch/barobord/rgblight/config.h deleted file mode 100644 index 2ba45850ed7f..000000000000 --- a/keyboards/fingerpunch/barobord/rgblight/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBLIGHT -#define FINGERPUNCH_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/rgblight/rules.mk b/keyboards/fingerpunch/barobord/rgblight/rules.mk deleted file mode 100644 index 33c2c43ab133..000000000000 --- a/keyboards/fingerpunch/barobord/rgblight/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/rgblight_oled_ec11/config.h b/keyboards/fingerpunch/barobord/rgblight_oled_ec11/config.h deleted file mode 100644 index 7a486c8a724b..000000000000 --- a/keyboards/fingerpunch/barobord/rgblight_oled_ec11/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBLIGHT -#define FINGERPUNCH_RGBLIGHT -#endif - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/barobord/rgblight_oled_ec11/rules.mk b/keyboards/fingerpunch/barobord/rgblight_oled_ec11/rules.mk deleted file mode 100644 index f938a09a93b4..000000000000 --- a/keyboards/fingerpunch/barobord/rgblight_oled_ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/rgblight_oled_evq/config.h b/keyboards/fingerpunch/barobord/rgblight_oled_evq/config.h deleted file mode 100644 index 325d5563ae42..000000000000 --- a/keyboards/fingerpunch/barobord/rgblight_oled_evq/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBLIGHT -#define FINGERPUNCH_RGBLIGHT -#endif - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/rgblight_oled_evq/rules.mk b/keyboards/fingerpunch/barobord/rgblight_oled_evq/rules.mk deleted file mode 100644 index f938a09a93b4..000000000000 --- a/keyboards/fingerpunch/barobord/rgblight_oled_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/rgblight_pimoroni_ec11/config.h b/keyboards/fingerpunch/barobord/rgblight_pimoroni_ec11/config.h deleted file mode 100644 index 61c4c51fc53a..000000000000 --- a/keyboards/fingerpunch/barobord/rgblight_pimoroni_ec11/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBLIGHT -#define FINGERPUNCH_RGBLIGHT -#endif - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/rgblight_pimoroni_ec11/rules.mk b/keyboards/fingerpunch/barobord/rgblight_pimoroni_ec11/rules.mk deleted file mode 100644 index 326b810dfb49..000000000000 --- a/keyboards/fingerpunch/barobord/rgblight_pimoroni_ec11/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/rgblight_pimoroni_evq/config.h b/keyboards/fingerpunch/barobord/rgblight_pimoroni_evq/config.h deleted file mode 100644 index 4237e51a0780..000000000000 --- a/keyboards/fingerpunch/barobord/rgblight_pimoroni_evq/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBLIGHT -#define FINGERPUNCH_RGBLIGHT -#endif - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/rgblight_pimoroni_evq/rules.mk b/keyboards/fingerpunch/barobord/rgblight_pimoroni_evq/rules.mk deleted file mode 100644 index 326b810dfb49..000000000000 --- a/keyboards/fingerpunch/barobord/rgblight_pimoroni_evq/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/rgbmatrix/config.h b/keyboards/fingerpunch/barobord/rgbmatrix/config.h deleted file mode 100644 index 9f98c0bffe3f..000000000000 --- a/keyboards/fingerpunch/barobord/rgbmatrix/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBMATRIX -#define FINGERPUNCH_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/rgbmatrix/rules.mk b/keyboards/fingerpunch/barobord/rgbmatrix/rules.mk deleted file mode 100644 index 87455b3cc188..000000000000 --- a/keyboards/fingerpunch/barobord/rgbmatrix/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/rgbmatrix_oled_ec11/config.h b/keyboards/fingerpunch/barobord/rgbmatrix_oled_ec11/config.h deleted file mode 100644 index 2cdf35ce43ff..000000000000 --- a/keyboards/fingerpunch/barobord/rgbmatrix_oled_ec11/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBMATRIX -#define FINGERPUNCH_RGBMATRIX -#endif - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/rgbmatrix_oled_ec11/rules.mk b/keyboards/fingerpunch/barobord/rgbmatrix_oled_ec11/rules.mk deleted file mode 100644 index 9ca96193a268..000000000000 --- a/keyboards/fingerpunch/barobord/rgbmatrix_oled_ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/rgbmatrix_oled_evq/config.h b/keyboards/fingerpunch/barobord/rgbmatrix_oled_evq/config.h deleted file mode 100644 index 6085614871c6..000000000000 --- a/keyboards/fingerpunch/barobord/rgbmatrix_oled_evq/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBMATRIX -#define FINGERPUNCH_RGBMATRIX -#endif - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/rgbmatrix_oled_evq/rules.mk b/keyboards/fingerpunch/barobord/rgbmatrix_oled_evq/rules.mk deleted file mode 100644 index 9ca96193a268..000000000000 --- a/keyboards/fingerpunch/barobord/rgbmatrix_oled_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/rgbmatrix_pimoroni_ec11/config.h b/keyboards/fingerpunch/barobord/rgbmatrix_pimoroni_ec11/config.h deleted file mode 100644 index 378001aa2129..000000000000 --- a/keyboards/fingerpunch/barobord/rgbmatrix_pimoroni_ec11/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBMATRIX -#define FINGERPUNCH_RGBMATRIX -#endif - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/rgbmatrix_pimoroni_ec11/rules.mk b/keyboards/fingerpunch/barobord/rgbmatrix_pimoroni_ec11/rules.mk deleted file mode 100644 index c40db7d2aab1..000000000000 --- a/keyboards/fingerpunch/barobord/rgbmatrix_pimoroni_ec11/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/rgbmatrix_pimoroni_evq/config.h b/keyboards/fingerpunch/barobord/rgbmatrix_pimoroni_evq/config.h deleted file mode 100644 index 400f626976ad..000000000000 --- a/keyboards/fingerpunch/barobord/rgbmatrix_pimoroni_evq/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBMATRIX -#define FINGERPUNCH_RGBMATRIX -#endif - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord/rgbmatrix_pimoroni_evq/rules.mk b/keyboards/fingerpunch/barobord/rgbmatrix_pimoroni_evq/rules.mk deleted file mode 100644 index c40db7d2aab1..000000000000 --- a/keyboards/fingerpunch/barobord/rgbmatrix_pimoroni_evq/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord/rules.mk b/keyboards/fingerpunch/barobord/rules.mk index 982653506950..e349f59501e2 100644 --- a/keyboards/fingerpunch/barobord/rules.mk +++ b/keyboards/fingerpunch/barobord/rules.mk @@ -23,10 +23,11 @@ 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 +MOUSEKEY_ENABLE = no # Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = yes +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 MIDI_ENABLE = no # MIDI support @@ -35,7 +36,23 @@ 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 ENCODER_ENABLE = yes -OLED_DRIVER_ENABLE = yes # this can be yes or no depending on if you have an OLED -EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed +OLED_ENABLE = yes # this can be yes or no depending on if you have an OLED +# EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed # for instance, if you build "no_features", it's very unlikely you'll need to disable macros -MOUSEKEY_ENABLE = no + +PIMORONI_TRACKBALL_ENABLE = no + +ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := pimoroni_trackball + OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE +endif + +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/barobord_byomcu/barobord_byomcu.h b/keyboards/fingerpunch/barobord_byomcu/barobord_byomcu.h index c7c8206a7a97..2f608f0bad11 100644 --- a/keyboards/fingerpunch/barobord_byomcu/barobord_byomcu.h +++ b/keyboards/fingerpunch/barobord_byomcu/barobord_byomcu.h @@ -41,3 +41,5 @@ { K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \ { KC_NO, KC_NO, KC_NO, K36, K35, K10, K20, K30, K40 }, \ } + +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/config.h b/keyboards/fingerpunch/barobord_byomcu/config.h index 1c3257ee7d04..97baaa4e5b10 100644 --- a/keyboards/fingerpunch/barobord_byomcu/config.h +++ b/keyboards/fingerpunch/barobord_byomcu/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . //#define DEVICE_VER 0x0001 // Now defined in the revX/config.h #define MANUFACTURER sadekbaroudi #define PRODUCT sadekbaroudi barobord_byomcu -#define DESCRIPTION sadekbaroudi barobord_byomcu /* key matrix size */ /* Rows are doubled up */ @@ -38,7 +37,6 @@ along with this program. If not, see . { B6, F4, B5, B4, B2 } #define MATRIX_COL_PINS \ { D2, D4, C6, D7, E6, F5, F6, F7, B1 } -#define UNUSED_PINS /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 @@ -52,32 +50,23 @@ along with this program. If not, see . #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 - #define RGBLIGHT_LIMIT_VAL 60 /* The maximum brightness level for RGBLIGHT_ENABLE */ + #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level for RGBLIGHT_ENABLE */ #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 + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_TWINKLE #endif #ifdef RGB_MATRIX_ENABLE #define DRIVER_LED_TOTAL 40 #define RGB_MATRIX_CENTER {100, 32} - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 60 /* The maximum brightness level for RGB_MATRIX */ + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 /* The maximum brightness level for RGB_MATRIX */ #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -135,4 +124,3 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/fingerpunch/barobord_byomcu/ec11/config.h b/keyboards/fingerpunch/barobord_byomcu/ec11/config.h deleted file mode 100644 index 5ece337ba1d4..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/ec11/rules.mk b/keyboards/fingerpunch/barobord_byomcu/ec11/rules.mk deleted file mode 100644 index bf59a319db9a..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/evq/config.h b/keyboards/fingerpunch/barobord_byomcu/evq/config.h deleted file mode 100644 index 41409abf1650..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/evq/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/evq/rules.mk b/keyboards/fingerpunch/barobord_byomcu/evq/rules.mk deleted file mode 100644 index bf59a319db9a..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/fp_build.json b/keyboards/fingerpunch/barobord_byomcu/fp_build.json new file mode 100644 index 000000000000..07c80e3d4956 --- /dev/null +++ b/keyboards/fingerpunch/barobord_byomcu/fp_build.json @@ -0,0 +1,22 @@ +[ + { + "type" : "one-of", + "names" : [ "RGBLIGHT_ENABLE", "RGB_MATRIX_ENABLE" ], + "user_input": "No RGB, RGB light, RGB matrix?" + }, + { + "type" : "single", + "name" : "OLED_ENABLE", + "user_input": "Do you have an OLED?" + }, + { + "type" : "single", + "name" : "ENCODER_ENABLE", + "user_input": "Do you have one or more rotary encoders?" + }, + { + "type" : "single", + "name" : "PIMORONI_TRACKBALL_ENABLE", + "user_input": "Do you have a pimoroni trackball?" + } +] \ No newline at end of file diff --git a/keyboards/fingerpunch/barobord_byomcu/keymaps/default/keymap.c b/keyboards/fingerpunch/barobord_byomcu/keymaps/default/keymap.c index 6b935d6ec01c..7da4825ac381 100644 --- a/keyboards/fingerpunch/barobord_byomcu/keymaps/default/keymap.c +++ b/keyboards/fingerpunch/barobord_byomcu/keymaps/default/keymap.c @@ -235,7 +235,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { diff --git a/keyboards/fingerpunch/barobord_byomcu/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/barobord_byomcu/keymaps/sadekbaroudi/keymap.c index 96f96985a6db..df275749088d 100644 --- a/keyboards/fingerpunch/barobord_byomcu/keymaps/sadekbaroudi/keymap.c +++ b/keyboards/fingerpunch/barobord_byomcu/keymaps/sadekbaroudi/keymap.c @@ -110,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { diff --git a/keyboards/fingerpunch/barobord_byomcu/no_features/config.h b/keyboards/fingerpunch/barobord_byomcu/no_features/config.h deleted file mode 100644 index d4903b376d72..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/no_features/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/no_features/rules.mk b/keyboards/fingerpunch/barobord_byomcu/no_features/rules.mk deleted file mode 100644 index 38edc894a4cd..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/no_features/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/oled/config.h b/keyboards/fingerpunch/barobord_byomcu/oled/config.h deleted file mode 100644 index ad2d60bdb429..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/oled/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/oled/rules.mk b/keyboards/fingerpunch/barobord_byomcu/oled/rules.mk deleted file mode 100644 index af0bb8f88859..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/oled_ec11/config.h b/keyboards/fingerpunch/barobord_byomcu/oled_ec11/config.h deleted file mode 100644 index 220ac4240ba6..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/oled_ec11/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/oled_ec11/rules.mk b/keyboards/fingerpunch/barobord_byomcu/oled_ec11/rules.mk deleted file mode 100644 index e2d19dfcc484..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/oled_ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/oled_evq/config.h b/keyboards/fingerpunch/barobord_byomcu/oled_evq/config.h deleted file mode 100644 index 54ed43e07490..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/oled_evq/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/oled_evq/rules.mk b/keyboards/fingerpunch/barobord_byomcu/oled_evq/rules.mk deleted file mode 100644 index e2d19dfcc484..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/oled_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/pimoroni/config.h b/keyboards/fingerpunch/barobord_byomcu/pimoroni/config.h deleted file mode 100644 index e94ecab67de7..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/pimoroni/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/pimoroni/rules.mk b/keyboards/fingerpunch/barobord_byomcu/pimoroni/rules.mk deleted file mode 100644 index 9880edc91129..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/pimoroni/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/pimoroni_ec11/config.h b/keyboards/fingerpunch/barobord_byomcu/pimoroni_ec11/config.h deleted file mode 100644 index 3824353b1a4b..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/pimoroni_ec11/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/pimoroni_ec11/rules.mk b/keyboards/fingerpunch/barobord_byomcu/pimoroni_ec11/rules.mk deleted file mode 100644 index 97e71b6320c9..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/pimoroni_ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif - diff --git a/keyboards/fingerpunch/barobord_byomcu/pimoroni_evq/config.h b/keyboards/fingerpunch/barobord_byomcu/pimoroni_evq/config.h deleted file mode 100644 index 6e1f4f287ac8..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/pimoroni_evq/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/pimoroni_evq/rules.mk b/keyboards/fingerpunch/barobord_byomcu/pimoroni_evq/rules.mk deleted file mode 100644 index dad28b93e51c..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/pimoroni_evq/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/readme.md b/keyboards/fingerpunch/barobord_byomcu/readme.md index b676fbf63a4b..f28a38f143d7 100644 --- a/keyboards/fingerpunch/barobord_byomcu/readme.md +++ b/keyboards/fingerpunch/barobord_byomcu/readme.md @@ -6,32 +6,19 @@ An ergonomic 30% keyboard Barobord supports vial! Build the via keymap as shown in the commands -To build the firmware for this keyboard (after setting up your build environment), select from one of the following, depending on what features you have on your board: - - make fingerpunch/barobord_byomcu/ec11:vial - make fingerpunch/barobord_byomcu/evq:vial - make fingerpunch/barobord_byomcu/no-features:vial - make fingerpunch/barobord_byomcu/oled:vial - make fingerpunch/barobord_byomcu/oled-ec11:vial - make fingerpunch/barobord_byomcu/oled-evq:vial - make fingerpunch/barobord_byomcu/pimoroni:vial - make fingerpunch/barobord_byomcu/pimoroni-ec11:vial - make fingerpunch/barobord_byomcu/pimoroni-evq:vial - make fingerpunch/barobord_byomcu/readme.md:vial - make fingerpunch/barobord_byomcu/rgblight:vial - make fingerpunch/barobord_byomcu/rgblight-oled-ec11:vial - make fingerpunch/barobord_byomcu/rgblight-oled-evq:vial - make fingerpunch/barobord_byomcu/rgblight-pimoroni-ec11:vial - make fingerpunch/barobord_byomcu/rgblight-pimoroni-evq:vial - make fingerpunch/barobord_byomcu/rgbmatrix:vial - make fingerpunch/barobord_byomcu/rgbmatrix-oled-ec11:vial - make fingerpunch/barobord_byomcu/rgbmatrix-oled-evq:vial - make fingerpunch/barobord_byomcu/rgbmatrix-pimoroni-ec11:vial - make fingerpunch/barobord_byomcu/rgbmatrix-pimoroni-evq:vial - -Example of flashing this keyboard: - - make fingerpunch/barobord_byomcu/no-features:vial:flash +To build the firmware for this keyboard (after setting up your build environment): +``` + make fingerpunch/barobord_byomcu:default RGBLIGHT_ENABLE=yes ENCODER_ENABLE=yes PIMORONI_TRACKBALL_ENABLE=yes +``` + +Options are: +``` + RGBLIGHT_ENABLE=yes + RGB_MATRIX_ENABLE=yes + OLED_ENABLE=yes + ENCODER_ENABLE=yes + PIMORONI_TRACKBALL_ENABLE=yes +``` Once you have completed the build, flash it onto your keyboard. At this point, make sure you have [Vial](https://get.vial.today/) installed. You should be able to edit your keymap directly from your machine! diff --git a/keyboards/fingerpunch/barobord_byomcu/rgblight/config.h b/keyboards/fingerpunch/barobord_byomcu/rgblight/config.h deleted file mode 100644 index 2ba45850ed7f..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgblight/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBLIGHT -#define FINGERPUNCH_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/rgblight/rules.mk b/keyboards/fingerpunch/barobord_byomcu/rgblight/rules.mk deleted file mode 100644 index 33c2c43ab133..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgblight/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/rgblight_oled_ec11/config.h b/keyboards/fingerpunch/barobord_byomcu/rgblight_oled_ec11/config.h deleted file mode 100644 index 7a486c8a724b..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgblight_oled_ec11/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBLIGHT -#define FINGERPUNCH_RGBLIGHT -#endif - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/barobord_byomcu/rgblight_oled_ec11/rules.mk b/keyboards/fingerpunch/barobord_byomcu/rgblight_oled_ec11/rules.mk deleted file mode 100644 index f938a09a93b4..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgblight_oled_ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/rgblight_oled_evq/config.h b/keyboards/fingerpunch/barobord_byomcu/rgblight_oled_evq/config.h deleted file mode 100644 index 325d5563ae42..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgblight_oled_evq/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBLIGHT -#define FINGERPUNCH_RGBLIGHT -#endif - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/rgblight_oled_evq/rules.mk b/keyboards/fingerpunch/barobord_byomcu/rgblight_oled_evq/rules.mk deleted file mode 100644 index f938a09a93b4..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgblight_oled_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/rgblight_pimoroni_ec11/config.h b/keyboards/fingerpunch/barobord_byomcu/rgblight_pimoroni_ec11/config.h deleted file mode 100644 index 61c4c51fc53a..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgblight_pimoroni_ec11/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBLIGHT -#define FINGERPUNCH_RGBLIGHT -#endif - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/rgblight_pimoroni_ec11/rules.mk b/keyboards/fingerpunch/barobord_byomcu/rgblight_pimoroni_ec11/rules.mk deleted file mode 100644 index 326b810dfb49..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgblight_pimoroni_ec11/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/rgblight_pimoroni_evq/config.h b/keyboards/fingerpunch/barobord_byomcu/rgblight_pimoroni_evq/config.h deleted file mode 100644 index 4237e51a0780..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgblight_pimoroni_evq/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBLIGHT -#define FINGERPUNCH_RGBLIGHT -#endif - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/rgblight_pimoroni_evq/rules.mk b/keyboards/fingerpunch/barobord_byomcu/rgblight_pimoroni_evq/rules.mk deleted file mode 100644 index 326b810dfb49..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgblight_pimoroni_evq/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix/config.h b/keyboards/fingerpunch/barobord_byomcu/rgbmatrix/config.h deleted file mode 100644 index 9f98c0bffe3f..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBMATRIX -#define FINGERPUNCH_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix/rules.mk b/keyboards/fingerpunch/barobord_byomcu/rgbmatrix/rules.mk deleted file mode 100644 index 87455b3cc188..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_oled_ec11/config.h b/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_oled_ec11/config.h deleted file mode 100644 index 2cdf35ce43ff..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_oled_ec11/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBMATRIX -#define FINGERPUNCH_RGBMATRIX -#endif - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_oled_ec11/rules.mk b/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_oled_ec11/rules.mk deleted file mode 100644 index 9ca96193a268..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_oled_ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_oled_evq/config.h b/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_oled_evq/config.h deleted file mode 100644 index 6085614871c6..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_oled_evq/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBMATRIX -#define FINGERPUNCH_RGBMATRIX -#endif - -#ifndef FINGERPUNCH_OLED -#define FINGERPUNCH_OLED -#endif - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_oled_evq/rules.mk b/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_oled_evq/rules.mk deleted file mode 100644 index 9ca96193a268..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_oled_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_pimoroni_ec11/config.h b/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_pimoroni_ec11/config.h deleted file mode 100644 index 378001aa2129..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_pimoroni_ec11/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBMATRIX -#define FINGERPUNCH_RGBMATRIX -#endif - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#ifndef FINGERPUNCH_EC11 -#define FINGERPUNCH_EC11 -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_pimoroni_ec11/rules.mk b/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_pimoroni_ec11/rules.mk deleted file mode 100644 index c40db7d2aab1..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_pimoroni_ec11/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_pimoroni_evq/config.h b/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_pimoroni_evq/config.h deleted file mode 100644 index 400f626976ad..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_pimoroni_evq/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef FINGERPUNCH_RGBMATRIX -#define FINGERPUNCH_RGBMATRIX -#endif - -#ifndef FINGERPUNCH_PIMORONI -#define FINGERPUNCH_PIMORONI -#endif - -#ifndef FINGERPUNCH_EVQ -#define FINGERPUNCH_EVQ -#endif - -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_pimoroni_evq/rules.mk b/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_pimoroni_evq/rules.mk deleted file mode 100644 index c40db7d2aab1..000000000000 --- a/keyboards/fingerpunch/barobord_byomcu/rgbmatrix_pimoroni_evq/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/barobord_byomcu/rules.mk b/keyboards/fingerpunch/barobord_byomcu/rules.mk index cf9d1fbecdc2..78dab5289af9 100644 --- a/keyboards/fingerpunch/barobord_byomcu/rules.mk +++ b/keyboards/fingerpunch/barobord_byomcu/rules.mk @@ -23,10 +23,11 @@ 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 +MOUSEKEY_ENABLE = no # Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = yes +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 MIDI_ENABLE = no # MIDI support @@ -34,14 +35,31 @@ UNICODE_ENABLE = no # Unicode 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 -ENCODER_ENABLE = yes -OLED_DRIVER_ENABLE = yes # this can be yes or no depending on if you have an OLED -EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed +ENCODER_ENABLE = no +OLED_ENABLE = no # this can be yes or no depending on if you have an OLED +# EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed # for instance, if you build "no_features", it's very unlikely you'll need to disable macros -MOUSEKEY_ENABLE = no + CASEMODES_ENABLE = yes ifeq ($(strip $(CASEMODES_ENABLE)), yes) SRC += users/sadekbaroudi/casemodes.c endif + +PIMORONI_TRACKBALL_ENABLE = no + +ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := pimoroni_trackball + OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE +endif + +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/bgkeeb/bgkeeb.h b/keyboards/fingerpunch/bgkeeb/bgkeeb.h index c19afee1baa0..a9a29b724173 100644 --- a/keyboards/fingerpunch/bgkeeb/bgkeeb.h +++ b/keyboards/fingerpunch/bgkeeb/bgkeeb.h @@ -22,3 +22,4 @@ #define LAYOUT LAYOUT_split_3x5_4 +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/bgkeeb/config.h b/keyboards/fingerpunch/bgkeeb/config.h index 975bb153bbc4..4284e851f4bf 100644 --- a/keyboards/fingerpunch/bgkeeb/config.h +++ b/keyboards/fingerpunch/bgkeeb/config.h @@ -54,26 +54,17 @@ along with this program. If not, see . #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 - #define RGBLIGHT_LIMIT_VAL 60 /* The maximum brightness level for RGBLIGHT_ENABLE */ + #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level for RGBLIGHT_ENABLE */ #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 + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_TWINKLE #endif #define ENCODERS_PAD_A {B5} diff --git a/keyboards/fingerpunch/bgkeeb/fp_build.json b/keyboards/fingerpunch/bgkeeb/fp_build.json new file mode 100644 index 000000000000..86e4cf714369 --- /dev/null +++ b/keyboards/fingerpunch/bgkeeb/fp_build.json @@ -0,0 +1,12 @@ +[ + { + "type" : "single", + "name" : "RGBLIGHT_ENABLE", + "user_input": "Do you have RGB?" + }, + { + "type" : "single", + "name" : "ENCODER_ENABLE", + "user_input": "Do you have one or more rotary encoders?" + } +] \ No newline at end of file diff --git a/keyboards/fingerpunch/bgkeeb/readme.md b/keyboards/fingerpunch/bgkeeb/readme.md index 140210448133..233321d1b6ca 100644 --- a/keyboards/fingerpunch/bgkeeb/readme.md +++ b/keyboards/fingerpunch/bgkeeb/readme.md @@ -4,12 +4,15 @@ * Hardware Supported: bgkeeb PCB rev1 Pro Micro Make example for this keyboard (after setting up your build environment): - - make fingerpunch/bgkeeb:default - -Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): - - make fingerpunch/bgkeeb:default:flash +``` + make fingerpunch/bgkeeb:default RGBLIGHT_ENABLE=yes ENCODER_ENABLE=yes +``` + +Options are: +``` + RGBLIGHT_ENABLE=yes + ENCODER_ENABLE=yes +``` See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/fingerpunch/bgkeeb/rules.mk b/keyboards/fingerpunch/bgkeeb/rules.mk index 2df50f1a1ff7..a87b3c91c5c4 100644 --- a/keyboards/fingerpunch/bgkeeb/rules.mk +++ b/keyboards/fingerpunch/bgkeeb/rules.mk @@ -17,10 +17,19 @@ 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 = yes # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = yes +ENCODER_ENABLE = no SPLIT_KEYBOARD = yes LAYOUTS = split_3x5_3 + +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/bigbarobord/bigbarobord.h b/keyboards/fingerpunch/bigbarobord/bigbarobord.h index 09ff6ed912ea..de12813e0071 100644 --- a/keyboards/fingerpunch/bigbarobord/bigbarobord.h +++ b/keyboards/fingerpunch/bigbarobord/bigbarobord.h @@ -44,3 +44,5 @@ { K41, K42, K43, K44, K45, K46, K47, K48, K49 }, \ { ___, K3B, K3C, K0A, K2B, K1A, K2A, K3A, K4A } \ } + +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/bigbarobord/config.h b/keyboards/fingerpunch/bigbarobord/config.h index 58532032ec86..0c28384d4ed3 100644 --- a/keyboards/fingerpunch/bigbarobord/config.h +++ b/keyboards/fingerpunch/bigbarobord/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #define PRODUCT_ID 0xFFBB #define MANUFACTURER sadekbaroudi #define PRODUCT sadekbaroudi bigbarobord -#define DESCRIPTION sadekbaroudi bigbarobord /* key matrix size */ /* Rows are doubled up */ @@ -37,7 +36,6 @@ along with this program. If not, see . { B6, F4, B5, B4, B2, B3 } #define MATRIX_COL_PINS \ { D2, D4, C6, D7, E6, F5, F6, F7, B1 } -#define UNUSED_PINS /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 @@ -53,70 +51,61 @@ along with this program. If not, see . #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 - #define RGBLIGHT_LIMIT_VAL 112 /* The maximum brightness level for RGBLIGHT_ENABLE */ + #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level for RGBLIGHT_ENABLE */ #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 + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_TWINKLE #endif #ifdef RGB_MATRIX_ENABLE #define DRIVER_LED_TOTAL 52 #define RGB_MATRIX_CENTER {100, 32} - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 112 /* The maximum brightness level for RGB_MATRIX */ + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 /* The maximum brightness level for RGB_MATRIX */ #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYREACTIVE_ENABLED #define ENABLE_RGB_MATRIX_ALPHAS_MODS - // #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN - // #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT #define ENABLE_RGB_MATRIX_BREATHING #define ENABLE_RGB_MATRIX_BAND_SAT #define ENABLE_RGB_MATRIX_BAND_VAL - // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT - // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL - // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT - // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL - // #define ENABLE_RGB_MATRIX_CYCLE_ALL + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL + #define ENABLE_RGB_MATRIX_CYCLE_ALL #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN - // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON #define ENABLE_RGB_MATRIX_DUAL_BEACON - // #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL - // #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL - // #define ENABLE_RGB_MATRIX_RAINBOW_BEACON - // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS - // #define ENABLE_RGB_MATRIX_RAINDROPS - // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS - // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN + #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL + #define ENABLE_RGB_MATRIX_RAINBOW_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define ENABLE_RGB_MATRIX_RAINDROPS + #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + #define ENABLE_RGB_MATRIX_DIGITAL_RAIN #define ENABLE_RGB_MATRIX_SOLID_REACTIVE #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS - // #define ENABLE_RGB_MATRIX_SPLASH - // #define ENABLE_RGB_MATRIX_MULTISPLASH - // #define ENABLE_RGB_MATRIX_SOLID_SPLASH - // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define ENABLE_RGB_MATRIX_SPLASH + #define ENABLE_RGB_MATRIX_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_SPLASH + #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif #define ENCODERS_PAD_A {D1} @@ -139,4 +128,3 @@ along with this program. If not, see . // If using encoder type 2, uncomment this // #define ENCODERS_B_REVERSE -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/fingerpunch/bigbarobord/ec11/config.h b/keyboards/fingerpunch/bigbarobord/ec11/config.h deleted file mode 100644 index f97f7e8c5fd7..000000000000 --- a/keyboards/fingerpunch/bigbarobord/ec11/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/ec11/rules.mk b/keyboards/fingerpunch/bigbarobord/ec11/rules.mk deleted file mode 100644 index 51c7c8e9b70d..000000000000 --- a/keyboards/fingerpunch/bigbarobord/ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/evq/config.h b/keyboards/fingerpunch/bigbarobord/evq/config.h deleted file mode 100644 index d9ca5022a3e1..000000000000 --- a/keyboards/fingerpunch/bigbarobord/evq/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/evq/rules.mk b/keyboards/fingerpunch/bigbarobord/evq/rules.mk deleted file mode 100644 index 51c7c8e9b70d..000000000000 --- a/keyboards/fingerpunch/bigbarobord/evq/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/fp_build.json b/keyboards/fingerpunch/bigbarobord/fp_build.json new file mode 100644 index 000000000000..07c80e3d4956 --- /dev/null +++ b/keyboards/fingerpunch/bigbarobord/fp_build.json @@ -0,0 +1,22 @@ +[ + { + "type" : "one-of", + "names" : [ "RGBLIGHT_ENABLE", "RGB_MATRIX_ENABLE" ], + "user_input": "No RGB, RGB light, RGB matrix?" + }, + { + "type" : "single", + "name" : "OLED_ENABLE", + "user_input": "Do you have an OLED?" + }, + { + "type" : "single", + "name" : "ENCODER_ENABLE", + "user_input": "Do you have one or more rotary encoders?" + }, + { + "type" : "single", + "name" : "PIMORONI_TRACKBALL_ENABLE", + "user_input": "Do you have a pimoroni trackball?" + } +] \ No newline at end of file diff --git a/keyboards/fingerpunch/bigbarobord/keymaps/default/keymap.c b/keyboards/fingerpunch/bigbarobord/keymaps/default/keymap.c index fadb31802d3a..51934c1531af 100644 --- a/keyboards/fingerpunch/bigbarobord/keymaps/default/keymap.c +++ b/keyboards/fingerpunch/bigbarobord/keymaps/default/keymap.c @@ -1,10 +1,5 @@ #include QMK_KEYBOARD_H -#ifdef ENCODER_ENABLE -bool is_alt_tab_active = false; -uint16_t alt_tab_timer = 0; -#endif - // Defines names for use in layer keycodes and the keymap enum layer_names { _QWERTY, @@ -83,21 +78,6 @@ layer_state_t layer_state_set_user(layer_state_t state) { #ifdef ENCODER_ENABLE -void press_super_alt_tab(bool shift) { - if (shift) { - register_code(KC_LSHIFT); - } - if (!is_alt_tab_active) { - is_alt_tab_active = true; - register_code(KC_LALT); - } - alt_tab_timer = timer_read(); - tap_code(KC_TAB); - if (shift) { - unregister_code(KC_LSHIFT); - } -} - bool encoder_update_user(uint8_t index, bool clockwise) { // default behavior if undefined if (index == 0) { @@ -131,69 +111,69 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { static void render_logo(void) { // bigbarobord logo, 128x64px static const char PROGMEM bigbarobord_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0xc0, 0xe0, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, - 0xfe, 0x02, 0x02, 0x02, 0x82, 0x06, 0x0e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x0f, 0x07, 0x0f, 0x1f, - 0x3e, 0x7c, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, - 0x1f, 0x0f, 0x07, 0x0f, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x02, 0x82, - 0x82, 0xc2, 0xe2, 0xde, 0x0e, 0x0e, 0x06, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x02, 0x02, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0xf8, 0xfc, 0x7e, - 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x1f, 0x3f, - 0x7e, 0xfc, 0xf8, 0xe0, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x1f, - 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xff, 0x7f, 0x1f, 0x87, 0x83, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x83, 0x87, 0x1f, 0x7f, 0xff, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, - 0x04, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xe0, 0x20, 0x20, 0x20, 0x20, 0x60, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x08, 0x18, 0x3c, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xcf, 0x8f, 0x87, 0x07, 0x07, 0x07, 0x07, - 0x07, 0xe7, 0xe7, 0xe7, 0xc7, 0x07, 0x07, 0x0f, 0x3f, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0x3f, 0x0f, 0x07, 0x07, 0xc7, 0xe7, 0xe7, 0xe7, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x87, 0x8f, 0xcf, 0xef, 0xef, 0xff, 0xff, 0x7f, 0x3e, 0x3c, 0x18, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0x20, - 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x20, 0x20, 0x70, 0xf8, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1e, 0x3e, 0x7c, - 0xf8, 0xf1, 0xf1, 0xe1, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, - 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe1, 0xf1, 0xf1, 0xf8, - 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x20, - 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7e, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x3c, - 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, - 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0e, - 0x0e, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xe0, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0x02, 0x02, 0x02, 0x82, 0x06, 0x0e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x0f, 0x07, 0x0f, 0x1f, + 0x3e, 0x7c, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, + 0x1f, 0x0f, 0x07, 0x0f, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x02, 0x82, + 0x82, 0xc2, 0xe2, 0xde, 0x0e, 0x0e, 0x06, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x02, 0x02, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0xf8, 0xfc, 0x7e, + 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x1f, 0x3f, + 0x7e, 0xfc, 0xf8, 0xe0, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x1f, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xff, 0x7f, 0x1f, 0x87, 0x83, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x83, 0x87, 0x1f, 0x7f, 0xff, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, + 0x04, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0x20, 0x20, 0x20, 0x20, 0x60, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x18, 0x3c, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xcf, 0x8f, 0x87, 0x07, 0x07, 0x07, 0x07, + 0x07, 0xe7, 0xe7, 0xe7, 0xc7, 0x07, 0x07, 0x0f, 0x3f, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0x3f, 0x0f, 0x07, 0x07, 0xc7, 0xe7, 0xe7, 0xe7, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x87, 0x8f, 0xcf, 0xef, 0xef, 0xff, 0xff, 0x7f, 0x3e, 0x3c, 0x18, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0x20, + 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x20, 0x20, 0x70, 0xf8, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1e, 0x3e, 0x7c, + 0xf8, 0xf1, 0xf1, 0xe1, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe1, 0xf1, 0xf1, 0xf8, + 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x20, + 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7e, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x3c, + 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, + 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0e, + 0x0e, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; @@ -239,29 +219,29 @@ static void render_status(void) { // bigbarobord logo, 128x48px static const char bigbarobord_logo_small [] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, - 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xf8, 0xfe, 0x8e, 0xdc, 0xf0, 0x70, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x70, 0xf0, 0xd8, 0x9c, 0x9e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, - 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x10, - 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x10, 0x10, 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x78, 0x7c, - 0xff, 0xd7, 0x9b, 0x18, 0x78, 0x78, 0x18, 0x30, 0x70, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, - 0x18, 0x58, 0x78, 0x18, 0x99, 0x9b, 0xf7, 0xfc, 0x78, 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0x78, 0xfc, 0xfc, 0xfe, 0xff, 0xf8, 0xf0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x10, 0x10, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x18, 0x3f, 0x7f, 0x68, 0x68, 0x3f, 0x3f, 0x0c, - 0x0c, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, 0x01, 0x0b, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, + 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf8, 0xfe, 0x8e, 0xdc, 0xf0, 0x70, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x70, 0xf0, 0xd8, 0x9c, 0x9e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x10, + 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x10, 0x10, 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x78, 0x7c, + 0xff, 0xd7, 0x9b, 0x18, 0x78, 0x78, 0x18, 0x30, 0x70, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, + 0x18, 0x58, 0x78, 0x18, 0x99, 0x9b, 0xf7, 0xfc, 0x78, 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0x78, 0xfc, 0xfc, 0xfe, 0xff, 0xf8, 0xf0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x10, 0x10, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x18, 0x3f, 0x7f, 0x68, 0x68, 0x3f, 0x3f, 0x0c, + 0x0c, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, 0x01, 0x0b, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, 0x0c, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 }; oled_write_raw_P(bigbarobord_logo_small, sizeof(bigbarobord_logo_small)); diff --git a/keyboards/fingerpunch/bigbarobord/no_features/config.h b/keyboards/fingerpunch/bigbarobord/no_features/config.h deleted file mode 100644 index 2665925400d4..000000000000 --- a/keyboards/fingerpunch/bigbarobord/no_features/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/bigbarobord/no_features/rules.mk b/keyboards/fingerpunch/bigbarobord/no_features/rules.mk deleted file mode 100644 index c6dcb2402616..000000000000 --- a/keyboards/fingerpunch/bigbarobord/no_features/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/oled/config.h b/keyboards/fingerpunch/bigbarobord/oled/config.h deleted file mode 100644 index 8a31245df6dd..000000000000 --- a/keyboards/fingerpunch/bigbarobord/oled/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#undef ENCODERS_PAD_A -#undef ENCODERS_PAD_B - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/oled/rules.mk b/keyboards/fingerpunch/bigbarobord/oled/rules.mk deleted file mode 100644 index 0691c6f6410b..000000000000 --- a/keyboards/fingerpunch/bigbarobord/oled/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/pimoroni/config.h b/keyboards/fingerpunch/bigbarobord/pimoroni/config.h deleted file mode 100644 index 6acef750e918..000000000000 --- a/keyboards/fingerpunch/bigbarobord/pimoroni/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#undef ENCODERS_PAD_A -#undef ENCODERS_PAD_B - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/pimoroni/rules.mk b/keyboards/fingerpunch/bigbarobord/pimoroni/rules.mk deleted file mode 100644 index fb958f89187d..000000000000 --- a/keyboards/fingerpunch/bigbarobord/pimoroni/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/readme.md b/keyboards/fingerpunch/bigbarobord/readme.md index 54b26e1f7d2d..1fcb3b952d63 100644 --- a/keyboards/fingerpunch/bigbarobord/readme.md +++ b/keyboards/fingerpunch/bigbarobord/readme.md @@ -7,25 +7,17 @@ An ergonomic 50% keyboard Big Barobord Make example for this keyboard (after setting up your build environment): - - make fingerpunch/bigbarobord/ec11:default - make fingerpunch/bigbarobord/evq:default - make fingerpunch/bigbarobord/no_features:default - make fingerpunch/bigbarobord/oled:default - make fingerpunch/bigbarobord/pimoroni:default - make fingerpunch/bigbarobord/rgblight:default - make fingerpunch/bigbarobord/rgblight_ec11:default - make fingerpunch/bigbarobord/rgblight_evq:default - make fingerpunch/bigbarobord/rgblight_oled:default - make fingerpunch/bigbarobord/rgblight_pimoroni:default - make fingerpunch/bigbarobord/rgbmatrix:default - make fingerpunch/bigbarobord/rgbmatrix_ec11:default - make fingerpunch/bigbarobord/rgbmatrix_evq:default - make fingerpunch/bigbarobord/rgbmatrix_oled:default - make fingerpunch/bigbarobord/rgbmatrix_pimoroni:default - -Example of flashing this keyboard: - - make fingerpunch/bigbarobord/rgblight_oled:default:flash +``` + make fingerpunch/bigbarobord:default RGBLIGHT_ENABLE=yes ENCODER_ENABLE=yes PIMORONI_TRACKBALL_ENABLE=yes +``` + +Options are: +``` + RGBLIGHT_ENABLE=yes + RGB_MATRIX_ENABLE=yes + OLED_ENABLE=yes + ENCODER_ENABLE=yes + PIMORONI_TRACKBALL_ENABLE=yes +``` 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). diff --git a/keyboards/fingerpunch/bigbarobord/rgblight/config.h b/keyboards/fingerpunch/bigbarobord/rgblight/config.h deleted file mode 100644 index 64579bc0166d..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgblight/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/rgblight/rules.mk b/keyboards/fingerpunch/bigbarobord/rgblight/rules.mk deleted file mode 100644 index d89358af2b07..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgblight/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/rgblight_ec11/config.h b/keyboards/fingerpunch/bigbarobord/rgblight_ec11/config.h deleted file mode 100644 index 9a8db4ff0d30..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgblight_ec11/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/rgblight_ec11/rules.mk b/keyboards/fingerpunch/bigbarobord/rgblight_ec11/rules.mk deleted file mode 100644 index 3edb19fd0ee8..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgblight_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/rgblight_evq/config.h b/keyboards/fingerpunch/bigbarobord/rgblight_evq/config.h deleted file mode 100644 index 59600236273e..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgblight_evq/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/rgblight_evq/rules.mk b/keyboards/fingerpunch/bigbarobord/rgblight_evq/rules.mk deleted file mode 100644 index 3edb19fd0ee8..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgblight_evq/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/rgblight_oled/config.h b/keyboards/fingerpunch/bigbarobord/rgblight_oled/config.h deleted file mode 100644 index e0b25aca4e2a..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgblight_oled/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#undef ENCODERS_PAD_A -#undef ENCODERS_PAD_B - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/rgblight_oled/rules.mk b/keyboards/fingerpunch/bigbarobord/rgblight_oled/rules.mk deleted file mode 100644 index ee06510f39a6..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgblight_oled/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/rgblight_pimoroni/config.h b/keyboards/fingerpunch/bigbarobord/rgblight_pimoroni/config.h deleted file mode 100644 index 77a7c9705fdb..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgblight_pimoroni/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#undef ENCODERS_PAD_A -#undef ENCODERS_PAD_B - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/rgblight_pimoroni/rules.mk b/keyboards/fingerpunch/bigbarobord/rgblight_pimoroni/rules.mk deleted file mode 100644 index 66fc5b8e8e8f..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgblight_pimoroni/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/rgbmatrix/config.h b/keyboards/fingerpunch/bigbarobord/rgbmatrix/config.h deleted file mode 100644 index 7efaf36db9c0..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgbmatrix/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/rgbmatrix/rules.mk b/keyboards/fingerpunch/bigbarobord/rgbmatrix/rules.mk deleted file mode 100644 index 7b9b02c58d08..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgbmatrix/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/rgbmatrix_ec11/config.h b/keyboards/fingerpunch/bigbarobord/rgbmatrix_ec11/config.h deleted file mode 100644 index 4c48e40746ad..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgbmatrix_ec11/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/rgbmatrix_ec11/rules.mk b/keyboards/fingerpunch/bigbarobord/rgbmatrix_ec11/rules.mk deleted file mode 100644 index 862c80855ad2..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgbmatrix_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/rgbmatrix_evq/config.h b/keyboards/fingerpunch/bigbarobord/rgbmatrix_evq/config.h deleted file mode 100644 index 31b81fc9d20e..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgbmatrix_evq/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/rgbmatrix_evq/rules.mk b/keyboards/fingerpunch/bigbarobord/rgbmatrix_evq/rules.mk deleted file mode 100644 index 862c80855ad2..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgbmatrix_evq/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/rgbmatrix_oled/config.h b/keyboards/fingerpunch/bigbarobord/rgbmatrix_oled/config.h deleted file mode 100644 index 277ab2e5a2c7..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgbmatrix_oled/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#undef ENCODERS_PAD_A -#undef ENCODERS_PAD_B - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/rgbmatrix_oled/rules.mk b/keyboards/fingerpunch/bigbarobord/rgbmatrix_oled/rules.mk deleted file mode 100644 index 4a8489f025bc..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgbmatrix_oled/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/rgbmatrix_pimoroni/config.h b/keyboards/fingerpunch/bigbarobord/rgbmatrix_pimoroni/config.h deleted file mode 100644 index ff48287f4c41..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgbmatrix_pimoroni/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#undef ENCODERS_PAD_A -#undef ENCODERS_PAD_B - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/bigbarobord/rgbmatrix_pimoroni/rules.mk b/keyboards/fingerpunch/bigbarobord/rgbmatrix_pimoroni/rules.mk deleted file mode 100644 index 00f3fc675cb4..000000000000 --- a/keyboards/fingerpunch/bigbarobord/rgbmatrix_pimoroni/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/bigbarobord/rules.mk b/keyboards/fingerpunch/bigbarobord/rules.mk index dcedfd9c7768..e7905d121274 100644 --- a/keyboards/fingerpunch/bigbarobord/rules.mk +++ b/keyboards/fingerpunch/bigbarobord/rules.mk @@ -25,8 +25,8 @@ NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality # Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = yes +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 MIDI_ENABLE = no # MIDI support @@ -34,9 +34,25 @@ UNICODE_ENABLE = no # Unicode 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 -ENCODER_ENABLE = yes -OLED_DRIVER_ENABLE = yes # this can be yes or no depending on if you have an OLED -EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed - # for instance, if you build "no_features", it's very unlikely you'll need to disable macros +ENCODER_ENABLE = no +OLED_ENABLE = no # this can be yes or no depending on if you have an OLED +# EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed + MOUSEKEY_ENABLE = no +PIMORONI_TRACKBALL_ENABLE = no + +ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := pimoroni_trackball + OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE +endif + +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/euclid36/rules.mk b/keyboards/fingerpunch/euclid36/rules.mk index e745c6b6a561..23eed92d8b32 100644 --- a/keyboards/fingerpunch/euclid36/rules.mk +++ b/keyboards/fingerpunch/euclid36/rules.mk @@ -31,7 +31,7 @@ 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 ENCODER_ENABLE = yes -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes THUMBSTICK_ENABLE = yes ifeq ($(strip $(THUMBSTICK_ENABLE)), yes) diff --git a/keyboards/fingerpunch/ffkb/config.h b/keyboards/fingerpunch/ffkb/config.h index 610b8339df9b..f5bf7e9949b9 100644 --- a/keyboards/fingerpunch/ffkb/config.h +++ b/keyboards/fingerpunch/ffkb/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . //#define DEVICE_VER 0x0001 // Now defined in the revX/config.h #define MANUFACTURER sadekbaroudi #define PRODUCT sadekbaroudi ffkb -#define DESCRIPTION sadekbaroudi ffkb /* key matrix size */ /* Rows are doubled up */ @@ -35,10 +34,9 @@ along with this program. If not, see . // wiring #define MATRIX_ROW_PINS \ - { B0, B1, C6, B6 } // 8, 9, 31, 30 + { B0, B1, C6, B6 } #define MATRIX_COL_PINS \ - { F4, F6, F5, F7, F1, B3, B2, D2, D3, D5, B5, B7 } // 39, 37, 38, 36, 40, 11, 10, 20, 21, 22, 29, 12 -#define UNUSED_PINS + { F4, F6, F5, F7, F1, B3, B2, D2, D3, D5, B5, B7 } /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 @@ -56,24 +54,15 @@ along with this program. If not, see . #define RGBLIGHT_VAL_STEP 16 #define RGBLIGHT_LIMIT_VAL 112 /* The maximum brightness level for RGBLIGHT_ENABLE */ #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 + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_TWINKLE #endif #ifdef RGB_MATRIX_ENABLE @@ -85,39 +74,39 @@ along with this program. If not, see . #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYREACTIVE_ENABLED #define ENABLE_RGB_MATRIX_ALPHAS_MODS - // #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN - // #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT #define ENABLE_RGB_MATRIX_BREATHING #define ENABLE_RGB_MATRIX_BAND_SAT #define ENABLE_RGB_MATRIX_BAND_VAL - // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT - // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL - // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT - // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL - // #define ENABLE_RGB_MATRIX_CYCLE_ALL + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL + #define ENABLE_RGB_MATRIX_CYCLE_ALL #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN - // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON #define ENABLE_RGB_MATRIX_DUAL_BEACON - // #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL - // #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL - // #define ENABLE_RGB_MATRIX_RAINBOW_BEACON - // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS - // #define ENABLE_RGB_MATRIX_RAINDROPS - // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS - // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN + #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL + #define ENABLE_RGB_MATRIX_RAINBOW_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define ENABLE_RGB_MATRIX_RAINDROPS + #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + #define ENABLE_RGB_MATRIX_DIGITAL_RAIN #define ENABLE_RGB_MATRIX_SOLID_REACTIVE #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS - // #define ENABLE_RGB_MATRIX_SPLASH - // #define ENABLE_RGB_MATRIX_MULTISPLASH - // #define ENABLE_RGB_MATRIX_SOLID_SPLASH - // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define ENABLE_RGB_MATRIX_SPLASH + #define ENABLE_RGB_MATRIX_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_SPLASH + #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif // SDA, 27, 25 @@ -127,9 +116,23 @@ along with this program. If not, see . // 28, 28, 26 #define ENCODERS_PAD_B {B4, D6, D0} +#ifdef FP_EVQ_UNDER_PALMS +#define ENCODERS_A_REVERSE +#define ENCODERS_B_REVERSE +#endif + +#ifdef FP_EC11_UNDER_PALMS +#define ENCODERS_C_REVERSE +#endif + +#if defined(OLED_ENABLE) || defined(PIMORONI_TRACKBALL_ENABLE) +#undef ENCODERS_PAD_A +#define ENCODERS_PAD_A {D7, D4} +#undef ENCODERS_PAD_B +#define ENCODERS_PAD_B {B4, D6} +#endif + #define ENCODER_RESOLUTION 2 -// Per encoder settings -//#define ENCODER_RESOLUTIONS { 2, 2 } /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE @@ -144,4 +147,3 @@ along with this program. If not, see . // If using encoder type 2, uncomment this // #define ENCODERS_B_REVERSE -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/fingerpunch/ffkb/ec11/config.h b/keyboards/fingerpunch/ffkb/ec11/config.h deleted file mode 100644 index f97f7e8c5fd7..000000000000 --- a/keyboards/fingerpunch/ffkb/ec11/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/ec11/rules.mk b/keyboards/fingerpunch/ffkb/ec11/rules.mk deleted file mode 100644 index bf59a319db9a..000000000000 --- a/keyboards/fingerpunch/ffkb/ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/ec11_evq/config.h b/keyboards/fingerpunch/ffkb/ec11_evq/config.h deleted file mode 100644 index 43a073fb6b22..000000000000 --- a/keyboards/fingerpunch/ffkb/ec11_evq/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/ec11_evq/rules.mk b/keyboards/fingerpunch/ffkb/ec11_evq/rules.mk deleted file mode 100644 index bf59a319db9a..000000000000 --- a/keyboards/fingerpunch/ffkb/ec11_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/evq/config.h b/keyboards/fingerpunch/ffkb/evq/config.h deleted file mode 100644 index d9ca5022a3e1..000000000000 --- a/keyboards/fingerpunch/ffkb/evq/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/evq/rules.mk b/keyboards/fingerpunch/ffkb/evq/rules.mk deleted file mode 100644 index bf59a319db9a..000000000000 --- a/keyboards/fingerpunch/ffkb/evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/ffkb.h b/keyboards/fingerpunch/ffkb/ffkb.h index fd51d7cfa945..d1a531bcd26b 100644 --- a/keyboards/fingerpunch/ffkb/ffkb.h +++ b/keyboards/fingerpunch/ffkb/ffkb.h @@ -40,3 +40,5 @@ { K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \ { KC_NO, K32, KC_NO, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO } \ } + +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/ffkb/fp_build.json b/keyboards/fingerpunch/ffkb/fp_build.json new file mode 100644 index 000000000000..38ef3f0c4240 --- /dev/null +++ b/keyboards/fingerpunch/ffkb/fp_build.json @@ -0,0 +1,27 @@ +[ + { + "type" : "one-of", + "names" : [ "RGBLIGHT_ENABLE", "RGB_MATRIX_ENABLE" ], + "user_input": "No RGB, RGB light, RGB matrix?" + }, + { + "type" : "single", + "name" : "OLED_ENABLE", + "user_input": "Do you have an OLED?" + }, + { + "type" : "single", + "name" : "FP_EC11_CENTER", + "user_input": "Do you have an EC11 in the center?" + }, + { + "type" : "one-of", + "names" : [ "FP_EC11_UNDER_PALMS", "FP_EVQ_UNDER_PALMS" ], + "user_input": "No under palm encoders, EC11, or EVQ?" + }, + { + "type" : "single", + "name" : "PIMORONI_TRACKBALL_ENABLE", + "user_input": "Do you have a pimoroni trackball?" + } +] \ No newline at end of file diff --git a/keyboards/fingerpunch/ffkb/keymaps/default/keymap.c b/keyboards/fingerpunch/ffkb/keymaps/default/keymap.c index 0a997681cfec..451b3b60cde3 100644 --- a/keyboards/fingerpunch/ffkb/keymaps/default/keymap.c +++ b/keyboards/fingerpunch/ffkb/keymaps/default/keymap.c @@ -1,10 +1,5 @@ #include QMK_KEYBOARD_H -#ifdef ENCODER_ENABLE -bool is_alt_tab_active = false; -uint16_t alt_tab_timer = 0; -#endif - // Defines names for use in layer keycodes and the keymap enum layer_names { _QWERTY, @@ -160,20 +155,6 @@ layer_state_t layer_state_set_user(layer_state_t state) { } #ifdef ENCODER_ENABLE -void press_super_alt_tab(bool shift) { - if (shift) { - register_code(KC_LSHIFT); - } - if (!is_alt_tab_active) { - is_alt_tab_active = true; - register_code(KC_LALT); - } - alt_tab_timer = timer_read(); - tap_code(KC_TAB); - if (shift) { - unregister_code(KC_LSHIFT); - } -} bool encoder_update_user(uint8_t index, bool clockwise) { // default behavior if undefined @@ -210,9 +191,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { #else if (clockwise) { #endif - press_super_alt_tab(true); + press_super_tab(true); } else { - press_super_alt_tab(false); + press_super_tab(false); } } @@ -232,37 +213,37 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { static void render_logo(void) { // ffkb logo, 128x32px static const char PROGMEM ffkb_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0x10, 0x10, 0x10, 0x90, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0x3c, 0x3c, 0x38, 0x70, - 0x70, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0x70, - 0x70, 0x38, 0x3c, 0x3c, 0xfc, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x10, 0x00, - 0x80, 0x90, 0xd0, 0xf0, 0x30, 0x30, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, - 0x3f, 0x21, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe7, 0xff, 0x7f, 0x7f, 0xbc, 0x9e, 0x8e, 0x8f, - 0x87, 0x87, 0x83, 0x83, 0x81, 0x81, 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0x81, 0x81, 0x83, 0x83, 0x87, 0x87, - 0x8f, 0x8e, 0x9e, 0xbc, 0x7f, 0x7f, 0xff, 0xe7, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x23, 0x07, - 0x0f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, - 0xfc, 0x44, 0x44, 0x44, 0xe4, 0x0c, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x02, 0x06, 0x06, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1b, 0x3b, 0x3b, 0x73, 0x73, 0x73, 0xe3, - 0xe3, 0xdf, 0xdf, 0xdf, 0x8b, 0x83, 0x03, 0x03, 0x07, 0x1f, 0xfe, 0xfc, 0xf8, 0xe0, 0x00, 0x00, - 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xfe, 0x1f, 0x07, 0x03, 0x03, 0x83, 0x8b, 0xdf, 0xdf, 0xdf, 0xe3, - 0xe3, 0x73, 0x73, 0x73, 0x3b, 0x3b, 0x1b, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x06, 0x06, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x44, 0x44, - 0x44, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xb8, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0e, 0x1f, 0x3f, 0x3f, 0x3f, 0x36, 0x36, - 0x36, 0x36, 0x3f, 0x3f, 0x3f, 0x1f, 0x0e, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0x10, 0x10, 0x10, 0x90, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0x3c, 0x3c, 0x38, 0x70, + 0x70, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0x70, + 0x70, 0x38, 0x3c, 0x3c, 0xfc, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x10, 0x00, + 0x80, 0x90, 0xd0, 0xf0, 0x30, 0x30, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, + 0x3f, 0x21, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe7, 0xff, 0x7f, 0x7f, 0xbc, 0x9e, 0x8e, 0x8f, + 0x87, 0x87, 0x83, 0x83, 0x81, 0x81, 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0x81, 0x81, 0x83, 0x83, 0x87, 0x87, + 0x8f, 0x8e, 0x9e, 0xbc, 0x7f, 0x7f, 0xff, 0xe7, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x23, 0x07, + 0x0f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0x44, 0x44, 0x44, 0xe4, 0x0c, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x06, 0x06, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1b, 0x3b, 0x3b, 0x73, 0x73, 0x73, 0xe3, + 0xe3, 0xdf, 0xdf, 0xdf, 0x8b, 0x83, 0x03, 0x03, 0x07, 0x1f, 0xfe, 0xfc, 0xf8, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xfe, 0x1f, 0x07, 0x03, 0x03, 0x83, 0x8b, 0xdf, 0xdf, 0xdf, 0xe3, + 0xe3, 0x73, 0x73, 0x73, 0x3b, 0x3b, 0x1b, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x06, 0x06, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x44, 0x44, + 0x44, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xb8, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0e, 0x1f, 0x3f, 0x3f, 0x3f, 0x36, 0x36, + 0x36, 0x36, 0x3f, 0x3f, 0x3f, 0x1f, 0x0e, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; oled_write_raw_P(ffkb_logo, sizeof(ffkb_logo)); @@ -307,29 +288,29 @@ static void render_status(void) { // ffkb logo, 128x48px static const char ffkb_logo_small [] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, - 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xf8, 0xfe, 0x8e, 0xdc, 0xf0, 0x70, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x70, 0xf0, 0xd8, 0x9c, 0x9e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, - 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x10, - 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x10, 0x10, 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x78, 0x7c, - 0xff, 0xd7, 0x9b, 0x18, 0x78, 0x78, 0x18, 0x30, 0x70, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, - 0x18, 0x58, 0x78, 0x18, 0x99, 0x9b, 0xf7, 0xfc, 0x78, 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0x78, 0xfc, 0xfc, 0xfe, 0xff, 0xf8, 0xf0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x10, 0x10, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x18, 0x3f, 0x7f, 0x68, 0x68, 0x3f, 0x3f, 0x0c, - 0x0c, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, 0x01, 0x0b, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, + 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf8, 0xfe, 0x8e, 0xdc, 0xf0, 0x70, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x70, 0xf0, 0xd8, 0x9c, 0x9e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x10, + 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x10, 0x10, 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x78, 0x7c, + 0xff, 0xd7, 0x9b, 0x18, 0x78, 0x78, 0x18, 0x30, 0x70, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, + 0x18, 0x58, 0x78, 0x18, 0x99, 0x9b, 0xf7, 0xfc, 0x78, 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0x78, 0xfc, 0xfc, 0xfe, 0xff, 0xf8, 0xf0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x10, 0x10, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x18, 0x3f, 0x7f, 0x68, 0x68, 0x3f, 0x3f, 0x0c, + 0x0c, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, 0x01, 0x0b, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, 0x0c, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 }; oled_write_raw_P(ffkb_logo_small, sizeof(ffkb_logo_small)); diff --git a/keyboards/fingerpunch/ffkb/no_features/config.h b/keyboards/fingerpunch/ffkb/no_features/config.h deleted file mode 100644 index 2665925400d4..000000000000 --- a/keyboards/fingerpunch/ffkb/no_features/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/ffkb/no_features/rules.mk b/keyboards/fingerpunch/ffkb/no_features/rules.mk deleted file mode 100644 index 38edc894a4cd..000000000000 --- a/keyboards/fingerpunch/ffkb/no_features/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/oled/config.h b/keyboards/fingerpunch/ffkb/oled/config.h deleted file mode 100644 index 641c2863fb85..000000000000 --- a/keyboards/fingerpunch/ffkb/oled/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/oled/rules.mk b/keyboards/fingerpunch/ffkb/oled/rules.mk deleted file mode 100644 index 123064d22714..000000000000 --- a/keyboards/fingerpunch/ffkb/oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/oled_ec11/config.h b/keyboards/fingerpunch/ffkb/oled_ec11/config.h deleted file mode 100644 index 2abde390b6ab..000000000000 --- a/keyboards/fingerpunch/ffkb/oled_ec11/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/oled_ec11/rules.mk b/keyboards/fingerpunch/ffkb/oled_ec11/rules.mk deleted file mode 100644 index f248cb208122..000000000000 --- a/keyboards/fingerpunch/ffkb/oled_ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/oled_evq/config.h b/keyboards/fingerpunch/ffkb/oled_evq/config.h deleted file mode 100644 index b3e410943655..000000000000 --- a/keyboards/fingerpunch/ffkb/oled_evq/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/oled_evq/rules.mk b/keyboards/fingerpunch/ffkb/oled_evq/rules.mk deleted file mode 100644 index f248cb208122..000000000000 --- a/keyboards/fingerpunch/ffkb/oled_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/pimoroni/config.h b/keyboards/fingerpunch/ffkb/pimoroni/config.h deleted file mode 100644 index 87884ae93c42..000000000000 --- a/keyboards/fingerpunch/ffkb/pimoroni/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/pimoroni/rules.mk b/keyboards/fingerpunch/ffkb/pimoroni/rules.mk deleted file mode 100644 index 9880edc91129..000000000000 --- a/keyboards/fingerpunch/ffkb/pimoroni/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/pimoroni_ec11/config.h b/keyboards/fingerpunch/ffkb/pimoroni_ec11/config.h deleted file mode 100644 index 0d557cb64f83..000000000000 --- a/keyboards/fingerpunch/ffkb/pimoroni_ec11/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/pimoroni_ec11/rules.mk b/keyboards/fingerpunch/ffkb/pimoroni_ec11/rules.mk deleted file mode 100644 index dad28b93e51c..000000000000 --- a/keyboards/fingerpunch/ffkb/pimoroni_ec11/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/pimoroni_evq/config.h b/keyboards/fingerpunch/ffkb/pimoroni_evq/config.h deleted file mode 100644 index bc94c964954a..000000000000 --- a/keyboards/fingerpunch/ffkb/pimoroni_evq/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/pimoroni_evq/rules.mk b/keyboards/fingerpunch/ffkb/pimoroni_evq/rules.mk deleted file mode 100644 index dad28b93e51c..000000000000 --- a/keyboards/fingerpunch/ffkb/pimoroni_evq/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/readme.md b/keyboards/fingerpunch/ffkb/readme.md index 615000b45428..aaafb1e9d0cc 100644 --- a/keyboards/fingerpunch/ffkb/readme.md +++ b/keyboards/fingerpunch/ffkb/readme.md @@ -7,40 +7,19 @@ An ergonomic 30% keyboard Faux fox keyboard (ffkb) Make example for this keyboard (after setting up your build environment): - - make fingerpunch/ffkb/ec11:default - make fingerpunch/ffkb/ec11_evq:default - make fingerpunch/ffkb/evq:default - make fingerpunch/ffkb/no_features:default - make fingerpunch/ffkb/oled:default - make fingerpunch/ffkb/oled_ec11:default - make fingerpunch/ffkb/oled_evq:default - make fingerpunch/ffkb/pimoroni:default - make fingerpunch/ffkb/pimoroni_ec11:default - make fingerpunch/ffkb/pimoroni_evq:default - make fingerpunch/ffkb/rgblight:default - make fingerpunch/ffkb/rgblight_ec11:default - make fingerpunch/ffkb/rgblight_ec11_evq:default - make fingerpunch/ffkb/rgblight_evq:default - make fingerpunch/ffkb/rgblight_oled:default - make fingerpunch/ffkb/rgblight_oled_ec11:default - make fingerpunch/ffkb/rgblight_oled_evq:default - make fingerpunch/ffkb/rgblight_pimoroni:default - make fingerpunch/ffkb/rgblight_pimoroni_ec11:default - make fingerpunch/ffkb/rgblight_pimoroni_evq:default - make fingerpunch/ffkb/rgbmatrix:default - make fingerpunch/ffkb/rgbmatrix_ec11:default - make fingerpunch/ffkb/rgbmatrix_ec11_evq:default - make fingerpunch/ffkb/rgbmatrix_evq:default - make fingerpunch/ffkb/rgbmatrix_oled:default - make fingerpunch/ffkb/rgbmatrix_oled_ec11:default - make fingerpunch/ffkb/rgbmatrix_oled_evq:default - make fingerpunch/ffkb/rgbmatrix_pimoroni:default - make fingerpunch/ffkb/rgbmatrix_pimoroni_ec11:default - make fingerpunch/ffkb/rgbmatrix_pimoroni_evq:default - -Example of flashing this keyboard: - - make fingerpunch/ffkb/rgblight_oled_ec11:default:flash +``` + make fingerpunch/ffkb:default RGBLIGHT_ENABLE=yes FP_EC11_UNDER_PALMS=yes PIMORONI_TRACKBALL_ENABLE=yes +``` + +Options are: +``` + RGBLIGHT_ENABLE=yes + RGB_MATRIX_ENABLE=yes + OLED_ENABLE=yes + FP_EC11_CENTER=yes + FP_EC11_UNDER_PALMS=yes + FP_EVQ_UNDER_PALMS=yes + PIMORONI_TRACKBALL_ENABLE=yes +``` 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). diff --git a/keyboards/fingerpunch/ffkb/rgblight/config.h b/keyboards/fingerpunch/ffkb/rgblight/config.h deleted file mode 100644 index 64579bc0166d..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgblight/rules.mk b/keyboards/fingerpunch/ffkb/rgblight/rules.mk deleted file mode 100644 index 33c2c43ab133..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgblight_ec11/config.h b/keyboards/fingerpunch/ffkb/rgblight_ec11/config.h deleted file mode 100644 index 9a8db4ff0d30..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_ec11/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgblight_ec11/rules.mk b/keyboards/fingerpunch/ffkb/rgblight_ec11/rules.mk deleted file mode 100644 index ce562e393f31..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgblight_ec11_evq/config.h b/keyboards/fingerpunch/ffkb/rgblight_ec11_evq/config.h deleted file mode 100644 index b406f7b886c7..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_ec11_evq/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgblight_ec11_evq/rules.mk b/keyboards/fingerpunch/ffkb/rgblight_ec11_evq/rules.mk deleted file mode 100644 index ce562e393f31..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_ec11_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgblight_evq/config.h b/keyboards/fingerpunch/ffkb/rgblight_evq/config.h deleted file mode 100644 index 59600236273e..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_evq/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgblight_evq/rules.mk b/keyboards/fingerpunch/ffkb/rgblight_evq/rules.mk deleted file mode 100644 index ce562e393f31..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgblight_oled/config.h b/keyboards/fingerpunch/ffkb/rgblight_oled/config.h deleted file mode 100644 index 76e0fcb66d99..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_oled/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgblight_oled/rules.mk b/keyboards/fingerpunch/ffkb/rgblight_oled/rules.mk deleted file mode 100644 index f04575f8a30f..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgblight_oled_ec11/config.h b/keyboards/fingerpunch/ffkb/rgblight_oled_ec11/config.h deleted file mode 100644 index 151d3de8a3be..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_oled_ec11/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgblight_oled_ec11/rules.mk b/keyboards/fingerpunch/ffkb/rgblight_oled_ec11/rules.mk deleted file mode 100644 index 1159805b74fa..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_oled_ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgblight_oled_evq/config.h b/keyboards/fingerpunch/ffkb/rgblight_oled_evq/config.h deleted file mode 100644 index 7c8fcc702d04..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_oled_evq/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgblight_oled_evq/rules.mk b/keyboards/fingerpunch/ffkb/rgblight_oled_evq/rules.mk deleted file mode 100644 index 1159805b74fa..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_oled_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgblight_pimoroni/config.h b/keyboards/fingerpunch/ffkb/rgblight_pimoroni/config.h deleted file mode 100644 index 0f131f9e2ae6..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_pimoroni/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgblight_pimoroni/rules.mk b/keyboards/fingerpunch/ffkb/rgblight_pimoroni/rules.mk deleted file mode 100644 index 1ba0ee581511..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_pimoroni/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgblight_pimoroni_ec11/config.h b/keyboards/fingerpunch/ffkb/rgblight_pimoroni_ec11/config.h deleted file mode 100644 index 4ba9e5ac22e5..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_pimoroni_ec11/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgblight_pimoroni_ec11/rules.mk b/keyboards/fingerpunch/ffkb/rgblight_pimoroni_ec11/rules.mk deleted file mode 100644 index 326b810dfb49..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_pimoroni_ec11/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgblight_pimoroni_evq/config.h b/keyboards/fingerpunch/ffkb/rgblight_pimoroni_evq/config.h deleted file mode 100644 index f90e52f04c87..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_pimoroni_evq/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgblight_pimoroni_evq/rules.mk b/keyboards/fingerpunch/ffkb/rgblight_pimoroni_evq/rules.mk deleted file mode 100644 index 326b810dfb49..000000000000 --- a/keyboards/fingerpunch/ffkb/rgblight_pimoroni_evq/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix/config.h b/keyboards/fingerpunch/ffkb/rgbmatrix/config.h deleted file mode 100644 index 7efaf36db9c0..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix/rules.mk b/keyboards/fingerpunch/ffkb/rgbmatrix/rules.mk deleted file mode 100644 index 87455b3cc188..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_ec11/config.h b/keyboards/fingerpunch/ffkb/rgbmatrix_ec11/config.h deleted file mode 100644 index 4c48e40746ad..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_ec11/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_ec11/rules.mk b/keyboards/fingerpunch/ffkb/rgbmatrix_ec11/rules.mk deleted file mode 100644 index 5f4a6a0db3e9..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_ec11_evq/config.h b/keyboards/fingerpunch/ffkb/rgbmatrix_ec11_evq/config.h deleted file mode 100644 index 5edcf027d11b..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_ec11_evq/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_ec11_evq/rules.mk b/keyboards/fingerpunch/ffkb/rgbmatrix_ec11_evq/rules.mk deleted file mode 100644 index 5f4a6a0db3e9..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_ec11_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_evq/config.h b/keyboards/fingerpunch/ffkb/rgbmatrix_evq/config.h deleted file mode 100644 index 31b81fc9d20e..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_evq/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_evq/rules.mk b/keyboards/fingerpunch/ffkb/rgbmatrix_evq/rules.mk deleted file mode 100644 index 5f4a6a0db3e9..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_oled/config.h b/keyboards/fingerpunch/ffkb/rgbmatrix_oled/config.h deleted file mode 100644 index 7350fcedab97..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_oled/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_oled/rules.mk b/keyboards/fingerpunch/ffkb/rgbmatrix_oled/rules.mk deleted file mode 100644 index 673e966c2a19..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_oled_ec11/config.h b/keyboards/fingerpunch/ffkb/rgbmatrix_oled_ec11/config.h deleted file mode 100644 index bf22b65bf67a..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_oled_ec11/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_oled_ec11/rules.mk b/keyboards/fingerpunch/ffkb/rgbmatrix_oled_ec11/rules.mk deleted file mode 100644 index a73c6172dd87..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_oled_ec11/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_oled_evq/config.h b/keyboards/fingerpunch/ffkb/rgbmatrix_oled_evq/config.h deleted file mode 100644 index bcc19b1b2e44..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_oled_evq/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_oled_evq/rules.mk b/keyboards/fingerpunch/ffkb/rgbmatrix_oled_evq/rules.mk deleted file mode 100644 index a73c6172dd87..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_oled_evq/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni/config.h b/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni/config.h deleted file mode 100644 index 83d45f2054e2..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni/rules.mk b/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni/rules.mk deleted file mode 100644 index b925b6796990..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni_ec11/config.h b/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni_ec11/config.h deleted file mode 100644 index f6ca8afbfdbd..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni_ec11/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni_ec11/rules.mk b/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni_ec11/rules.mk deleted file mode 100644 index c40db7d2aab1..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni_ec11/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni_evq/config.h b/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni_evq/config.h deleted file mode 100644 index b45e758a4fb3..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni_evq/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D7, D4} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B4, D6} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni_evq/rules.mk b/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni_evq/rules.mk deleted file mode 100644 index c40db7d2aab1..000000000000 --- a/keyboards/fingerpunch/ffkb/rgbmatrix_pimoroni_evq/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb/rules.mk b/keyboards/fingerpunch/ffkb/rules.mk index 982653506950..0afc7c11bb5a 100644 --- a/keyboards/fingerpunch/ffkb/rules.mk +++ b/keyboards/fingerpunch/ffkb/rules.mk @@ -25,8 +25,8 @@ NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality # Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = yes +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 MIDI_ENABLE = no # MIDI support @@ -34,8 +34,40 @@ UNICODE_ENABLE = no # Unicode 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 -ENCODER_ENABLE = yes -OLED_DRIVER_ENABLE = yes # this can be yes or no depending on if you have an OLED +ENCODER_ENABLE = no +OLED_ENABLE = no # this can be yes or no depending on if you have an OLED EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed # for instance, if you build "no_features", it's very unlikely you'll need to disable macros MOUSEKEY_ENABLE = no + +PIMORONI_TRACKBALL_ENABLE = no + +ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := pimoroni_trackball + OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE +endif + +ifeq ($(strip $(FP_EC11_CENTER)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EC11_CENTER +endif + +ifeq ($(strip $(FP_EC11_UNDER_PALMS)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EC11_UNDER_PALMS +endif + +ifeq ($(strip $(FP_EVQ_UNDER_PALMS)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EVQ_UNDER_PALMS +endif + +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/ffkb_byomcu/cirque/config.h b/keyboards/fingerpunch/ffkb_byomcu/cirque/config.h deleted file mode 100644 index d4903b376d72..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/cirque/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/cirque/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/cirque/rules.mk deleted file mode 100644 index 94fdcee2771d..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/cirque/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = no -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/cirque_ec11/config.h b/keyboards/fingerpunch/ffkb_byomcu/cirque_ec11/config.h deleted file mode 100644 index d4903b376d72..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/cirque_ec11/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/cirque_ec11/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/cirque_ec11/rules.mk deleted file mode 100644 index 65a6380f8813..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/cirque_ec11/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = yes -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/cirque_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/cirque_evq/config.h deleted file mode 100644 index 968605031873..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/cirque_evq/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/cirque_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/cirque_evq/rules.mk deleted file mode 100644 index 65a6380f8813..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/cirque_evq/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = yes -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/config.h b/keyboards/fingerpunch/ffkb_byomcu/config.h index 00a4e96f0db7..eed50c84d86f 100644 --- a/keyboards/fingerpunch/ffkb_byomcu/config.h +++ b/keyboards/fingerpunch/ffkb_byomcu/config.h @@ -20,23 +20,12 @@ along with this program. If not, see . /* USB Device descriptor parameter */ -#define DEVICE_VER 0x0001 +// #define DEVICE_VER 0x0001 // now defined in vx/config.h #define VENDOR_ID 0xFEFE #define PRODUCT_ID 0xFFBB #define MANUFACTURER sadekbaroudi #define PRODUCT sadekbaroudi ffkb_byomcu -/* key matrix size */ -/* Rows are doubled up */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 8 - -// wiring -#define MATRIX_ROW_PINS \ - { D2, F4, F5, F6, F7, B1 } -#define MATRIX_COL_PINS \ - { B5, B4, E6, D7, C6, D4, B2, B3 } - /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 @@ -51,7 +40,7 @@ along with this program. If not, see . #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 - #define RGBLIGHT_LIMIT_VAL 112 /* The maximum brightness level for RGBLIGHT_ENABLE */ + #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level for RGBLIGHT_ENABLE */ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_BREATHING @@ -67,7 +56,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE #define DRIVER_LED_TOTAL 42 #define RGB_MATRIX_CENTER {100, 32} - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 112 /* The maximum brightness level for RGB_MATRIX */ + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 /* The maximum brightness level for RGB_MATRIX */ #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -108,46 +97,8 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif -#define ENCODERS_PAD_A {D5, B6, D1} -#define ENCODERS_PAD_B {B7, F1, D0} - -#ifdef FP_EVQ_UNDER_PALMS -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE -#endif - -#ifdef FP_EC11_UNDER_PALMS -#define ENCODERS_C_REVERSE -#endif - -#if defined(OLED_ENABLE) || defined(PIMORONI_TRACKBALL_ENABLE) -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} -#endif - -#define ENCODER_RESOLUTION 2 - /* 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 -#ifdef PIMORONI_TRACKBALL_ENABLE -#define PIMORONI_TRACKBALL_ROTATE -#define PIMORONI_TRACKBALL_CLICK -#endif - -// cirque trackpad config -#define CIRQUE_PINNACLE_ADDR 0x2A -#define POINTING_DEVICE_ROTATION_90 -#define CIRQUE_PINNACLE_TAP_ENABLE -#define POINTING_DEVICE_TASK_THROTTLE_MS 5 -#define I2C1_CLOCK_SPEED 400000 -#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 - -// If using encoder type 2, uncomment this -// #define ENCODERS_B_REVERSE - -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/fingerpunch/ffkb_byomcu/ec11/config.h b/keyboards/fingerpunch/ffkb_byomcu/ec11/config.h deleted file mode 100644 index f97f7e8c5fd7..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/ec11/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/ec11/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/ec11/rules.mk deleted file mode 100644 index 51c7c8e9b70d..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/ec11_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/ec11_evq/config.h deleted file mode 100644 index 43a073fb6b22..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/ec11_evq/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/ec11_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/ec11_evq/rules.mk deleted file mode 100644 index 51c7c8e9b70d..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/ec11_evq/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/evq/config.h deleted file mode 100644 index d9ca5022a3e1..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/evq/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/evq/rules.mk deleted file mode 100644 index 51c7c8e9b70d..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/evq/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/ffkb_byomcu.c b/keyboards/fingerpunch/ffkb_byomcu/ffkb_byomcu.c index 84a314fe5f0e..dd3986164c10 100644 --- a/keyboards/fingerpunch/ffkb_byomcu/ffkb_byomcu.c +++ b/keyboards/fingerpunch/ffkb_byomcu/ffkb_byomcu.c @@ -14,50 +14,3 @@ * along with this program. If not, see . */ #include "ffkb_byomcu.h" -#ifdef RGB_MATRIX_ENABLE - -// 6 column config -led_config_t g_led_config = { { - {2, 3, 8, 9, 14, 15, 26, 27}, - {1, 4, 7, 10, 13, 16, 25, 28}, - {0, 5, 6, 11, 12, 17, 24, 29}, - {NO_LED, NO_LED, 31, 35, 33, 37, 36, 39}, - {NO_LED, NO_LED, 30, 32, 34, 38, 41, 40}, - {NO_LED, NO_LED, 23, 18, 19, 20, 21, 22} -}, { - {0,32},{3,19},{7,5},{25,4},{21,18},{17,31},{35,26},{39,12},{43,0},{60,0},{56,12},{52,26}, - {66,33},{70,20},{74,6},{89,12},{85,25},{81,38},{61,50},{77,55},{93,63},{129,63},{145,55},{161,50}, - {141,38},{137,25},{133,12},{148,6},{152,20},{156,33},{170,26},{166,12},{162,0},{179,0},{183,12},{187,26}, - {205,31},{201,18},{197,4},{215,5},{219,19},{223,32} -}, { - 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 1, 1, 1 -} }; - - -// 5 column config -/* -led_config_t g_led_config = { { - {NO_LED, 0, 5, 6, 11, 12, 23, 24}, - {NO_LED, 1, 4, 7, 10, 13, 22, 25}, - {NO_LED, 2, 3, 8, 9, 14, 21, 26}, - {NO_LED, NO_LED, 28, 32, 30, 34, 33, NO_LED}, - {NO_LED, NO_LED, 27, 29, 31, 35, NO_LED, NO_LED}, - {NO_LED, NO_LED, 20, 15, 16, 17, 18, 19} -}, { - {25,4},{21,18},{17,31},{35,26},{39,12},{43,0},{60,0},{56,12},{52,26}, - {66,33},{70,20},{74,6},{89,12},{85,25},{81,38},{61,50},{77,55},{93,63},{129,63},{145,55},{161,50}, - {141,38},{137,25},{133,12},{148,6},{152,20},{156,33},{170,26},{166,12},{162,0},{179,0},{183,12},{187,26}, - {205,31},{201,18},{197,4} -}, { - 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 1, 1, 1, - 1, 1, 1, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4 -} }; -*/ - -#endif - diff --git a/keyboards/fingerpunch/ffkb_byomcu/ffkb_byomcu.h b/keyboards/fingerpunch/ffkb_byomcu/ffkb_byomcu.h index e54dd52d8eea..76ff1c0a50ee 100644 --- a/keyboards/fingerpunch/ffkb_byomcu/ffkb_byomcu.h +++ b/keyboards/fingerpunch/ffkb_byomcu/ffkb_byomcu.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Sadek Baroudi +/* Copyright 2022 Sadek Baroudi * * 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 @@ -17,31 +17,12 @@ #include "quantum.h" -/* This 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. - */ - -// 1-40 are the keyswitches, and 50 and 51 are the rotary encoders -#define LAYOUT_ffkb( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ - K32, K34, K35, K36, K37, K38, K39, K3B, \ - K3A \ -) \ -{ \ - { K01, K02, K03, K04, K05, K06, K07, K08 }, \ - { K11, K12, K13, K14, K15, K16, K17, K18 }, \ - { K21, K22, K23, K24, K25, K26, K27, K28 }, \ - { KC_NO, KC_NO, K19, K2A, K0A, K1B, K2B, K0C }, \ - { KC_NO, K3A, K29, K09, K1A, K0B, K2C, K1C }, \ - { K3B, K32, K39, K34, K35, K36, K37, K38 } \ -} - +#if defined(KEYBOARD_fingerpunch_ffkb_byomcu_v1) +# include "v1.h" +#elif defined(KEYBOARD_fingerpunch_ffkb_byomcu_v2) +# include "v2.h" +#elif defined(KEYBOARD_fingerpunch_ffkb_byomcu_v3) +# include "v3.h" +#endif -// KC_NO, K32, KC_NO, K34, K35, K36, K37, K38 +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/no_features/config.h b/keyboards/fingerpunch/ffkb_byomcu/no_features/config.h deleted file mode 100644 index 2665925400d4..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/no_features/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/ffkb_byomcu/no_features/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/no_features/rules.mk deleted file mode 100644 index c6dcb2402616..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/no_features/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/oled/config.h b/keyboards/fingerpunch/ffkb_byomcu/oled/config.h deleted file mode 100644 index d9651e9ee6bb..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/oled/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/oled/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/oled/rules.mk deleted file mode 100644 index 0691c6f6410b..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/oled/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/oled_ec11/config.h b/keyboards/fingerpunch/ffkb_byomcu/oled_ec11/config.h deleted file mode 100644 index 6b700d4c170f..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/oled_ec11/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/oled_ec11/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/oled_ec11/rules.mk deleted file mode 100644 index 18db16e53b67..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/oled_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/oled_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/oled_evq/config.h deleted file mode 100644 index 74a86b513757..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/oled_evq/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/oled_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/oled_evq/rules.mk deleted file mode 100644 index 18db16e53b67..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/oled_evq/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/pimoroni/config.h b/keyboards/fingerpunch/ffkb_byomcu/pimoroni/config.h deleted file mode 100644 index c186b76a54db..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/pimoroni/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/pimoroni/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/pimoroni/rules.mk deleted file mode 100644 index fb958f89187d..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/pimoroni/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/pimoroni_ec11/config.h b/keyboards/fingerpunch/ffkb_byomcu/pimoroni_ec11/config.h deleted file mode 100644 index a0e683a1f789..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/pimoroni_ec11/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/pimoroni_ec11/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/pimoroni_ec11/rules.mk deleted file mode 100644 index b170f5ce7ace..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/pimoroni_ec11/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/pimoroni_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/pimoroni_evq/config.h deleted file mode 100644 index d11a8c578d21..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/pimoroni_evq/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/pimoroni_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/pimoroni_evq/rules.mk deleted file mode 100644 index b170f5ce7ace..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/pimoroni_evq/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/readme.md b/keyboards/fingerpunch/ffkb_byomcu/readme.md deleted file mode 100644 index bdf2ad26f8c6..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/readme.md +++ /dev/null @@ -1,46 +0,0 @@ -# ffkb - -An ergonomic 30% keyboard - -* Keyboard Maintainer: [sadekbaroudi](https://github.com/sadekbaroudi) - -Faux fox keyboard (ffkb) - -Make example for this keyboard (after setting up your build environment): - - make fingerpunch/ffkb_byomcu/ec11:default - make fingerpunch/ffkb_byomcu/ec11_evq:default - make fingerpunch/ffkb_byomcu/evq:default - make fingerpunch/ffkb_byomcu/no_features:default - make fingerpunch/ffkb_byomcu/oled:default - make fingerpunch/ffkb_byomcu/oled_ec11:default - make fingerpunch/ffkb_byomcu/oled_evq:default - make fingerpunch/ffkb_byomcu/pimoroni:default - make fingerpunch/ffkb_byomcu/pimoroni_ec11:default - make fingerpunch/ffkb_byomcu/pimoroni_evq:default - make fingerpunch/ffkb_byomcu/rgblight:default - make fingerpunch/ffkb_byomcu/rgblight_ec11:default - make fingerpunch/ffkb_byomcu/rgblight_ec11_evq:default - make fingerpunch/ffkb_byomcu/rgblight_evq:default - make fingerpunch/ffkb_byomcu/rgblight_oled:default - make fingerpunch/ffkb_byomcu/rgblight_oled_ec11:default - make fingerpunch/ffkb_byomcu/rgblight_oled_evq:default - make fingerpunch/ffkb_byomcu/rgblight_pimoroni:default - make fingerpunch/ffkb_byomcu/rgblight_pimoroni_ec11:default - make fingerpunch/ffkb_byomcu/rgblight_pimoroni_evq:default - make fingerpunch/ffkb_byomcu/rgbmatrix:default - make fingerpunch/ffkb_byomcu/rgbmatrix_ec11:default - make fingerpunch/ffkb_byomcu/rgbmatrix_ec11_evq:default - make fingerpunch/ffkb_byomcu/rgbmatrix_evq:default - make fingerpunch/ffkb_byomcu/rgbmatrix_oled:default - make fingerpunch/ffkb_byomcu/rgbmatrix_oled_ec11:default - make fingerpunch/ffkb_byomcu/rgbmatrix_oled_evq:default - make fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni:default - make fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_ec11:default - make fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_evq:default - -Example of flashing this keyboard: - - make fingerpunch/ffkb_byomcu/rgblight_oled_ec11:default:flash - -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). diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight/config.h deleted file mode 100644 index 64579bc0166d..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight/rules.mk deleted file mode 100644 index d89358af2b07..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque/config.h deleted file mode 100644 index 64579bc0166d..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque/rules.mk deleted file mode 100644 index 05467e348590..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = no -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque_ec11/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque_ec11/config.h deleted file mode 100644 index 64579bc0166d..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque_ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque_ec11/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque_ec11/rules.mk deleted file mode 100644 index 22cd87039f23..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque_ec11/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = yes -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque_evq/config.h deleted file mode 100644 index 68ccb17942d1..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque_evq/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque_evq/rules.mk deleted file mode 100644 index 22cd87039f23..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_cirque_evq/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = yes -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_ec11/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight_ec11/config.h deleted file mode 100644 index 9a8db4ff0d30..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_ec11/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_ec11/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight_ec11/rules.mk deleted file mode 100644 index 3edb19fd0ee8..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_ec11_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight_ec11_evq/config.h deleted file mode 100644 index b406f7b886c7..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_ec11_evq/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_ec11_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight_ec11_evq/rules.mk deleted file mode 100644 index 3edb19fd0ee8..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_ec11_evq/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight_evq/config.h deleted file mode 100644 index 59600236273e..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_evq/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight_evq/rules.mk deleted file mode 100644 index 3edb19fd0ee8..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_evq/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled/config.h deleted file mode 100644 index 34b1c09ba7eb..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled/rules.mk deleted file mode 100644 index ee06510f39a6..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled_ec11/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled_ec11/config.h deleted file mode 100644 index 6796665ede23..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled_ec11/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled_ec11/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled_ec11/rules.mk deleted file mode 100644 index 7bfa3a1c6386..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled_evq/config.h deleted file mode 100644 index 25730e6f6095..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled_evq/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled_evq/rules.mk deleted file mode 100644 index 7bfa3a1c6386..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_oled_evq/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni/config.h deleted file mode 100644 index b038387113c2..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni/rules.mk deleted file mode 100644 index 66fc5b8e8e8f..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni_ec11/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni_ec11/config.h deleted file mode 100644 index 6a07312dc2b4..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni_ec11/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni_ec11/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni_ec11/rules.mk deleted file mode 100644 index c460bdeeede6..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni_ec11/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni_evq/config.h deleted file mode 100644 index 2533a991ae50..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni_evq/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni_evq/rules.mk deleted file mode 100644 index c460bdeeede6..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgblight_pimoroni_evq/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix/config.h deleted file mode 100644 index 7efaf36db9c0..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix/rules.mk deleted file mode 100644 index 7b9b02c58d08..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque/config.h deleted file mode 100644 index 7efaf36db9c0..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque/rules.mk deleted file mode 100644 index 9f168fd4a073..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = no -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque_ec11/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque_ec11/config.h deleted file mode 100644 index 7efaf36db9c0..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque_ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque_ec11/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque_ec11/rules.mk deleted file mode 100644 index 1f97a8e9d97b..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque_ec11/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = yes -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque_evq/config.h deleted file mode 100644 index b6d724b0980f..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque_evq/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE -#define ENCODERS_B_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque_evq/rules.mk deleted file mode 100644 index 1f97a8e9d97b..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_cirque_evq/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = yes -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_ec11/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_ec11/config.h deleted file mode 100644 index 4c48e40746ad..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_ec11/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_ec11/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_ec11/rules.mk deleted file mode 100644 index 862c80855ad2..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_ec11_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_ec11_evq/config.h deleted file mode 100644 index 5edcf027d11b..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_ec11_evq/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_ec11_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_ec11_evq/rules.mk deleted file mode 100644 index 862c80855ad2..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_ec11_evq/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_evq/config.h deleted file mode 100644 index 31b81fc9d20e..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_evq/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_evq/rules.mk deleted file mode 100644 index 862c80855ad2..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_evq/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled/config.h deleted file mode 100644 index c7795b884ea0..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled/rules.mk deleted file mode 100644 index 4a8489f025bc..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled_ec11/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled_ec11/config.h deleted file mode 100644 index 20a78ca2cde4..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled_ec11/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled_ec11/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled_ec11/rules.mk deleted file mode 100644 index 6afc22e0481a..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled_evq/config.h deleted file mode 100644 index bcc19b1b2e44..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled_evq/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled_evq/rules.mk deleted file mode 100644 index 6afc22e0481a..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_oled_evq/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni/config.h deleted file mode 100644 index 0fecb25fe477..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni/rules.mk deleted file mode 100644 index 00f3fc675cb4..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_ec11/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_ec11/config.h deleted file mode 100644 index f6ca8afbfdbd..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_ec11/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#ifndef XOIVIOX_EC11 -#define XOIVIOX_EC11 -#endif - -#define ENCODERS_C_REVERSE - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_ec11/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_ec11/rules.mk deleted file mode 100644 index 1acf7ec7b6fd..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_ec11/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_evq/config.h b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_evq/config.h deleted file mode 100644 index 361d09528e0d..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_evq/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_PIMORONI -#define XOIVIOX_PIMORONI -#endif - -#ifndef XOIVIOX_EVQ -#define XOIVIOX_EVQ -#endif - -#define ENCODERS_A_REVERSE true -#define ENCODERS_B_REVERSE true - -#undef ENCODERS_PAD_A -#define ENCODERS_PAD_A {D5, B6} -#undef ENCODERS_PAD_B -#define ENCODERS_PAD_B {B7, F1} - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_evq/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_evq/rules.mk deleted file mode 100644 index 1acf7ec7b6fd..000000000000 --- a/keyboards/fingerpunch/ffkb_byomcu/rgbmatrix_pimoroni_evq/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = yes -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - POINTING_DEVICE_DRIVER = pimoroni_trackball - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/rules.mk index dcedfd9c7768..a55d4b419b85 100644 --- a/keyboards/fingerpunch/ffkb_byomcu/rules.mk +++ b/keyboards/fingerpunch/ffkb_byomcu/rules.mk @@ -1,42 +1,8 @@ -# 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 - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -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 - -# Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 - -MIDI_ENABLE = no # MIDI support -UNICODE_ENABLE = no # Unicode -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 -ENCODER_ENABLE = yes -OLED_DRIVER_ENABLE = yes # this can be yes or no depending on if you have an OLED -EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed - # for instance, if you build "no_features", it's very unlikely you'll need to disable macros -MOUSEKEY_ENABLE = no - +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/ffkb_byomcu/v1/config.h b/keyboards/fingerpunch/ffkb_byomcu/v1/config.h new file mode 100644 index 000000000000..dec8f017b1c5 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v1/config.h @@ -0,0 +1,69 @@ +/* +Copyright 2021 Sadek Baroudi + +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 . +*/ + +#pragma once +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define DEVICE_VER 0x0001 + +/* key matrix size */ +/* Rows are doubled up */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 8 + +// wiring +#define MATRIX_ROW_PINS \ + { D2, F4, F5, F6, F7, B1 } +#define MATRIX_COL_PINS \ + { B5, B4, E6, D7, C6, D4, B2, B3 } + +#define ENCODERS_PAD_A {D5, B6, D1} +#define ENCODERS_PAD_B {B7, F1, D0} + +#ifdef FP_EVQ_UNDER_PALMS +#define ENCODERS_A_REVERSE +#define ENCODERS_B_REVERSE +#endif + +#ifdef FP_EC11_UNDER_PALMS +#define ENCODERS_C_REVERSE +#endif + +#if defined(OLED_ENABLE) || defined(PIMORONI_TRACKBALL_ENABLE) +#undef ENCODERS_PAD_A +#define ENCODERS_PAD_A {D5, B6} +#undef ENCODERS_PAD_B +#define ENCODERS_PAD_B {B7, F1} +#endif + +#define ENCODER_RESOLUTION 2 + +#ifdef PIMORONI_TRACKBALL_ENABLE +#define PIMORONI_TRACKBALL_ROTATE +#define PIMORONI_TRACKBALL_CLICK +#endif + +#ifdef CIRQUE_ENABLE + // cirque trackpad config + #define CIRQUE_PINNACLE_ADDR 0x2A + #define POINTING_DEVICE_ROTATION_90 + #define CIRQUE_PINNACLE_TAP_ENABLE + #define POINTING_DEVICE_TASK_THROTTLE_MS 5 + #define I2C1_CLOCK_SPEED 400000 + #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 +#endif \ No newline at end of file diff --git a/keyboards/fingerpunch/ffkb_byomcu/v1/fp_build.json b/keyboards/fingerpunch/ffkb_byomcu/v1/fp_build.json new file mode 100644 index 000000000000..38ef3f0c4240 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v1/fp_build.json @@ -0,0 +1,27 @@ +[ + { + "type" : "one-of", + "names" : [ "RGBLIGHT_ENABLE", "RGB_MATRIX_ENABLE" ], + "user_input": "No RGB, RGB light, RGB matrix?" + }, + { + "type" : "single", + "name" : "OLED_ENABLE", + "user_input": "Do you have an OLED?" + }, + { + "type" : "single", + "name" : "FP_EC11_CENTER", + "user_input": "Do you have an EC11 in the center?" + }, + { + "type" : "one-of", + "names" : [ "FP_EC11_UNDER_PALMS", "FP_EVQ_UNDER_PALMS" ], + "user_input": "No under palm encoders, EC11, or EVQ?" + }, + { + "type" : "single", + "name" : "PIMORONI_TRACKBALL_ENABLE", + "user_input": "Do you have a pimoroni trackball?" + } +] \ No newline at end of file diff --git a/keyboards/fingerpunch/ffkb_byomcu/keymaps/default/keymap.c b/keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/default/keymap.c similarity index 84% rename from keyboards/fingerpunch/ffkb_byomcu/keymaps/default/keymap.c rename to keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/default/keymap.c index 94bc199cfd00..479f5282b689 100644 --- a/keyboards/fingerpunch/ffkb_byomcu/keymaps/default/keymap.c +++ b/keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/default/keymap.c @@ -1,10 +1,5 @@ #include QMK_KEYBOARD_H -#ifdef ENCODER_ENABLE -bool is_alt_tab_active = false; -uint16_t alt_tab_timer = 0; -#endif - // Defines names for use in layer keycodes and the keymap enum layer_names { _QWERTY, @@ -161,21 +156,6 @@ layer_state_t layer_state_set_user(layer_state_t state) { #ifdef ENCODER_ENABLE -void press_super_alt_tab(bool shift) { - if (shift) { - register_code(KC_LSHIFT); - } - if (!is_alt_tab_active) { - is_alt_tab_active = true; - register_code(KC_LALT); - } - alt_tab_timer = timer_read(); - tap_code(KC_TAB); - if (shift) { - unregister_code(KC_LSHIFT); - } -} - bool encoder_update_user(uint8_t index, bool clockwise) { // default behavior if undefined if (index == 0) { @@ -211,9 +191,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { #else if (clockwise) { #endif - press_super_alt_tab(true); + press_super_tab(true); } else { - press_super_alt_tab(false); + press_super_tab(false); } } @@ -233,69 +213,69 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { static void render_logo(void) { // ffkb logo, 128x64px static const char PROGMEM ffkb_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0xc0, 0xe0, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, - 0xfe, 0x02, 0x02, 0x02, 0x82, 0x06, 0x0e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x0f, 0x07, 0x0f, 0x1f, - 0x3e, 0x7c, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, - 0x1f, 0x0f, 0x07, 0x0f, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x02, 0x82, - 0x82, 0xc2, 0xe2, 0xde, 0x0e, 0x0e, 0x06, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x02, 0x02, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0xf8, 0xfc, 0x7e, - 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x1f, 0x3f, - 0x7e, 0xfc, 0xf8, 0xe0, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x1f, - 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xff, 0x7f, 0x1f, 0x87, 0x83, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x83, 0x87, 0x1f, 0x7f, 0xff, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, - 0x04, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xe0, 0x20, 0x20, 0x20, 0x20, 0x60, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x08, 0x18, 0x3c, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xcf, 0x8f, 0x87, 0x07, 0x07, 0x07, 0x07, - 0x07, 0xe7, 0xe7, 0xe7, 0xc7, 0x07, 0x07, 0x0f, 0x3f, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0x3f, 0x0f, 0x07, 0x07, 0xc7, 0xe7, 0xe7, 0xe7, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x87, 0x8f, 0xcf, 0xef, 0xef, 0xff, 0xff, 0x7f, 0x3e, 0x3c, 0x18, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0x20, - 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x20, 0x20, 0x70, 0xf8, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1e, 0x3e, 0x7c, - 0xf8, 0xf1, 0xf1, 0xe1, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, - 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe1, 0xf1, 0xf1, 0xf8, - 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x20, - 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7e, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x3c, - 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, - 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0e, - 0x0e, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xe0, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0x02, 0x02, 0x02, 0x82, 0x06, 0x0e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x0f, 0x07, 0x0f, 0x1f, + 0x3e, 0x7c, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, + 0x1f, 0x0f, 0x07, 0x0f, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x02, 0x82, + 0x82, 0xc2, 0xe2, 0xde, 0x0e, 0x0e, 0x06, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x02, 0x02, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0xf8, 0xfc, 0x7e, + 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x1f, 0x3f, + 0x7e, 0xfc, 0xf8, 0xe0, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x1f, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xff, 0x7f, 0x1f, 0x87, 0x83, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x83, 0x87, 0x1f, 0x7f, 0xff, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, + 0x04, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0x20, 0x20, 0x20, 0x20, 0x60, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x18, 0x3c, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xcf, 0x8f, 0x87, 0x07, 0x07, 0x07, 0x07, + 0x07, 0xe7, 0xe7, 0xe7, 0xc7, 0x07, 0x07, 0x0f, 0x3f, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0x3f, 0x0f, 0x07, 0x07, 0xc7, 0xe7, 0xe7, 0xe7, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x87, 0x8f, 0xcf, 0xef, 0xef, 0xff, 0xff, 0x7f, 0x3e, 0x3c, 0x18, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0x20, + 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x20, 0x20, 0x70, 0xf8, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1e, 0x3e, 0x7c, + 0xf8, 0xf1, 0xf1, 0xe1, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe1, 0xf1, 0xf1, 0xf8, + 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x20, + 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7e, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x3c, + 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, + 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0e, + 0x0e, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; @@ -341,29 +321,29 @@ static void render_status(void) { // ffkb logo, 128x48px static const char ffkb_logo_small [] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, - 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xf8, 0xfe, 0x8e, 0xdc, 0xf0, 0x70, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x70, 0xf0, 0xd8, 0x9c, 0x9e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, - 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x10, - 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x10, 0x10, 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x78, 0x7c, - 0xff, 0xd7, 0x9b, 0x18, 0x78, 0x78, 0x18, 0x30, 0x70, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, - 0x18, 0x58, 0x78, 0x18, 0x99, 0x9b, 0xf7, 0xfc, 0x78, 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0x78, 0xfc, 0xfc, 0xfe, 0xff, 0xf8, 0xf0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x10, 0x10, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x18, 0x3f, 0x7f, 0x68, 0x68, 0x3f, 0x3f, 0x0c, - 0x0c, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, 0x01, 0x0b, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, + 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf8, 0xfe, 0x8e, 0xdc, 0xf0, 0x70, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x70, 0xf0, 0xd8, 0x9c, 0x9e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x10, + 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x10, 0x10, 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x78, 0x7c, + 0xff, 0xd7, 0x9b, 0x18, 0x78, 0x78, 0x18, 0x30, 0x70, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, + 0x18, 0x58, 0x78, 0x18, 0x99, 0x9b, 0xf7, 0xfc, 0x78, 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0x78, 0xfc, 0xfc, 0xfe, 0xff, 0xf8, 0xf0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x10, 0x10, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x18, 0x3f, 0x7f, 0x68, 0x68, 0x3f, 0x3f, 0x0c, + 0x0c, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, 0x01, 0x0b, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, 0x0c, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 }; oled_write_raw_P(ffkb_logo_small, sizeof(ffkb_logo_small)); diff --git a/keyboards/fingerpunch/ffkb_byomcu/keymaps/manna-harbour_miryoku/config.h b/keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/manna-harbour_miryoku/config.h similarity index 100% rename from keyboards/fingerpunch/ffkb_byomcu/keymaps/manna-harbour_miryoku/config.h rename to keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/manna-harbour_miryoku/config.h diff --git a/keyboards/fingerpunch/ffkb_byomcu/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/manna-harbour_miryoku/keymap.c similarity index 100% rename from keyboards/fingerpunch/ffkb_byomcu/keymaps/manna-harbour_miryoku/keymap.c rename to keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/manna-harbour_miryoku/keymap.c diff --git a/keyboards/fingerpunch/ffkb_byomcu/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/sadekbaroudi/keymap.c similarity index 75% rename from keyboards/fingerpunch/ffkb_byomcu/keymaps/sadekbaroudi/keymap.c rename to keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/sadekbaroudi/keymap.c index 0f97d6f69f7b..77ebf5618c1e 100644 --- a/keyboards/fingerpunch/ffkb_byomcu/keymaps/sadekbaroudi/keymap.c +++ b/keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/sadekbaroudi/keymap.c @@ -40,7 +40,7 @@ LAYOUT_wrapper( \ KC_MS_BTN3, K01, K02, K03, LT(_FUNCTION, K04), K05, K06, LT(_FUNCTION, K07), K08, K09, K0A, KC_BSLS, \ KC_MS_BTN1, LCTL_T(K11), LGUI_T(K12), LALT_T(K13), LSFT_T(K14), K15, LT(_MOUSE, K16), RSFT_T(K17), RALT_T(K18), RGUI_T(K19), RCTL_T(K1A), LCTL(KC_V), \ - KC_MS_BTN2, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, S_ALT_TAB, \ + KC_MS_BTN2, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, FP_SUPER_TAB, \ KC_MUTE, K33, LT(_NAVIGATION,K34), LT(_FUNCTION,K35), LT(_MEDIA,K36), LT(_SYMBOLS,K37), K38, LCTL(KC_BSPC), \ N_DEL_LINE \ ) @@ -65,41 +65,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAVIGATION] = LAYOUT_wrapper( - _______, ________________NAVIGATION_1_______________, _________________NUMPAD_1__________________, _______, - _______, ________________NAVIGATION_2_______________, _________________NUMPAD_2__________________, _______, - _______, ________________NAVIGATION_3_______________, _________________NUMPAD_3__________________, _______, - _______, _______, _______, KC_TAB, KC_BSPC, KC_SPACE, KC_DOT, _______, + _______, ________________NAVIGATION_1_______________, _________________NUMPAD_1__________________, _______, + _______, ________________NAVIGATION_2_______________, _________________NUMPAD_2__________________, _______, + _______, ________________NAVIGATION_3_______________, _________________NUMPAD_3__________________, _______, + _______, _______, _______, KC_TAB, KC_BSPC, KC_SPACE, KC_DOT, _______, _______ ), [_SYMBOLS] = LAYOUT_wrapper( - _______, ________________SYMBOLS_L1_________________, ________________SYMBOLS_R1_________________, _______, - _______, ________________SYMBOLS_L2_________________, ________________SYMBOLS_R2_________________, _______, - _______, ________________SYMBOLS_L3_________________, ________________SYMBOLS_R3_________________, _______, + _______, ________________SYMBOLS_L1_________________, ________________SYMBOLS_R1_________________, _______, + _______, ________________SYMBOLS_L2_________________, ________________SYMBOLS_R2_________________, _______, + _______, ________________SYMBOLS_L3_________________, ________________SYMBOLS_R3_________________, _______, _______, _______, KC_ENT, KC_DEL, KC_BSPC, _______, _______, _______, _______ ), [_FUNCTION] = LAYOUT_wrapper( - _______, ________________SHIFTNAV_1_________________, ________________FUNCTION_1_________________, _______, - _______, ________________SHIFTNAV_2_________________, ________________FUNCTION_2_________________, _______, - _______, ________________SHIFTNAV_3_________________, ________________FUNCTION_3_________________, _______, - _______, _______, _______, _______, N_DEL_LINE, KC_SPACE, _______, _______, + _______, ________________SHIFTNAV_1_________________, ________________FUNCTION_1_________________, _______, + _______, ________________SHIFTNAV_2_________________, ________________FUNCTION_2_________________, _______, + _______, ________________SHIFTNAV_3_________________, ________________FUNCTION_3_________________, _______, + _______, _______, _______, _______, N_DEL_LINE, KC_SPACE, _______, _______, _______ ), [_MEDIA] = LAYOUT_wrapper( - _______, ___________________RGB_1___________________, _________________MACROS_1__________________, _______, - _______, ___________________RGB_2___________________, _________________MACROS_2__________________, _______, - _______, ___________________RGB_3___________________, _________________MACROS_3__________________, _______, + _______, ___________________RGB_1___________________, _________________MACROS_1__________________, _______, + _______, ___________________RGB_2___________________, _________________MACROS_2__________________, _______, + _______, ___________________RGB_3___________________, _________________MACROS_3__________________, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - + [_MOUSE] = LAYOUT_wrapper( - _______, __________________MOUSE_1__________________, ___________________BLANK___________________, _______, - _______, __________________MOUSE_2__________________, ___________________BLANK___________________, _______, - _______, __________________MOUSE_3__________________, ___________________BLANK___________________, _______, + _______, __________________MOUSE_1__________________, ___________________BLANK___________________, _______, + _______, __________________MOUSE_2__________________, ___________________BLANK___________________, _______, + _______, __________________MOUSE_3__________________, ___________________BLANK___________________, _______, _______, _______, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN3, KC_MS_BTN2, _______, _______, _______ ) @@ -111,110 +111,110 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; -} +} static void render_logo(void) { // ffkb logo, 128x32px static const char PROGMEM ffkb_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0x10, 0x10, 0x10, 0x90, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0x3c, 0x3c, 0x38, 0x70, - 0x70, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0x70, - 0x70, 0x38, 0x3c, 0x3c, 0xfc, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x10, 0x00, - 0x80, 0x90, 0xd0, 0xf0, 0x30, 0x30, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, - 0x3f, 0x21, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe7, 0xff, 0x7f, 0x7f, 0xbc, 0x9e, 0x8e, 0x8f, - 0x87, 0x87, 0x83, 0x83, 0x81, 0x81, 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0x81, 0x81, 0x83, 0x83, 0x87, 0x87, - 0x8f, 0x8e, 0x9e, 0xbc, 0x7f, 0x7f, 0xff, 0xe7, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x23, 0x07, - 0x0f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, - 0xfc, 0x44, 0x44, 0x44, 0xe4, 0x0c, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x02, 0x06, 0x06, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1b, 0x3b, 0x3b, 0x73, 0x73, 0x73, 0xe3, - 0xe3, 0xdf, 0xdf, 0xdf, 0x8b, 0x83, 0x03, 0x03, 0x07, 0x1f, 0xfe, 0xfc, 0xf8, 0xe0, 0x00, 0x00, - 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xfe, 0x1f, 0x07, 0x03, 0x03, 0x83, 0x8b, 0xdf, 0xdf, 0xdf, 0xe3, - 0xe3, 0x73, 0x73, 0x73, 0x3b, 0x3b, 0x1b, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x06, 0x06, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x44, 0x44, - 0x44, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xb8, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0e, 0x1f, 0x3f, 0x3f, 0x3f, 0x36, 0x36, - 0x36, 0x36, 0x3f, 0x3f, 0x3f, 0x1f, 0x0e, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0x10, 0x10, 0x10, 0x90, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0x3c, 0x3c, 0x38, 0x70, + 0x70, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0x70, + 0x70, 0x38, 0x3c, 0x3c, 0xfc, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x10, 0x00, + 0x80, 0x90, 0xd0, 0xf0, 0x30, 0x30, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, + 0x3f, 0x21, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe7, 0xff, 0x7f, 0x7f, 0xbc, 0x9e, 0x8e, 0x8f, + 0x87, 0x87, 0x83, 0x83, 0x81, 0x81, 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0x81, 0x81, 0x83, 0x83, 0x87, 0x87, + 0x8f, 0x8e, 0x9e, 0xbc, 0x7f, 0x7f, 0xff, 0xe7, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x23, 0x07, + 0x0f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0x44, 0x44, 0x44, 0xe4, 0x0c, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x06, 0x06, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1b, 0x3b, 0x3b, 0x73, 0x73, 0x73, 0xe3, + 0xe3, 0xdf, 0xdf, 0xdf, 0x8b, 0x83, 0x03, 0x03, 0x07, 0x1f, 0xfe, 0xfc, 0xf8, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xfe, 0x1f, 0x07, 0x03, 0x03, 0x83, 0x8b, 0xdf, 0xdf, 0xdf, 0xe3, + 0xe3, 0x73, 0x73, 0x73, 0x3b, 0x3b, 0x1b, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x06, 0x06, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x44, 0x44, + 0x44, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xb8, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0e, 0x1f, 0x3f, 0x3f, 0x3f, 0x36, 0x36, + 0x36, 0x36, 0x3f, 0x3f, 0x3f, 0x1f, 0x0e, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // ffkb logo, 128x64px // static const char PROGMEM ffkb_logo[] = { - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0x80, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x80, 0xc0, 0xe0, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, - // 0xfe, 0x02, 0x02, 0x02, 0x82, 0x06, 0x0e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x0f, 0x07, 0x0f, 0x1f, - // 0x3e, 0x7c, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - // 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, - // 0x1f, 0x0f, 0x07, 0x0f, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x02, 0x82, - // 0x82, 0xc2, 0xe2, 0xde, 0x0e, 0x0e, 0x06, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - // 0xff, 0x02, 0x02, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0xf8, 0xfc, 0x7e, - // 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x1f, 0x3f, - // 0x7e, 0xfc, 0xf8, 0xe0, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x1f, - // 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - // 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xff, 0x7f, 0x1f, 0x87, 0x83, 0x80, 0x80, - // 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - // 0x80, 0x80, 0x83, 0x87, 0x1f, 0x7f, 0xff, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, - // 0x04, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - // 0xe0, 0x20, 0x20, 0x20, 0x20, 0x60, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x08, 0x18, 0x3c, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xcf, 0x8f, 0x87, 0x07, 0x07, 0x07, 0x07, - // 0x07, 0xe7, 0xe7, 0xe7, 0xc7, 0x07, 0x07, 0x0f, 0x3f, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0x3f, 0x0f, 0x07, 0x07, 0xc7, 0xe7, 0xe7, 0xe7, 0x07, - // 0x07, 0x07, 0x07, 0x07, 0x87, 0x8f, 0xcf, 0xef, 0xef, 0xff, 0xff, 0x7f, 0x3e, 0x3c, 0x18, 0x08, - // 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0x20, - // 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - // 0xff, 0x20, 0x20, 0x70, 0xf8, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1e, 0x3e, 0x7c, - // 0xf8, 0xf1, 0xf1, 0xe1, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, - // 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe1, 0xf1, 0xf1, 0xf8, - // 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x20, - // 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - // 0x7f, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7e, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x3c, - // 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, - // 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0e, - // 0x0e, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0x80, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x80, 0xc0, 0xe0, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + // 0xfe, 0x02, 0x02, 0x02, 0x82, 0x06, 0x0e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x0f, 0x07, 0x0f, 0x1f, + // 0x3e, 0x7c, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + // 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, + // 0x1f, 0x0f, 0x07, 0x0f, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x02, 0x82, + // 0x82, 0xc2, 0xe2, 0xde, 0x0e, 0x0e, 0x06, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + // 0xff, 0x02, 0x02, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0xf8, 0xfc, 0x7e, + // 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x1f, 0x3f, + // 0x7e, 0xfc, 0xf8, 0xe0, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x1f, + // 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + // 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xff, 0x7f, 0x1f, 0x87, 0x83, 0x80, 0x80, + // 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + // 0x80, 0x80, 0x83, 0x87, 0x1f, 0x7f, 0xff, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, + // 0x04, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + // 0xe0, 0x20, 0x20, 0x20, 0x20, 0x60, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x08, 0x18, 0x3c, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xcf, 0x8f, 0x87, 0x07, 0x07, 0x07, 0x07, + // 0x07, 0xe7, 0xe7, 0xe7, 0xc7, 0x07, 0x07, 0x0f, 0x3f, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0x3f, 0x0f, 0x07, 0x07, 0xc7, 0xe7, 0xe7, 0xe7, 0x07, + // 0x07, 0x07, 0x07, 0x07, 0x87, 0x8f, 0xcf, 0xef, 0xef, 0xff, 0xff, 0x7f, 0x3e, 0x3c, 0x18, 0x08, + // 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0x20, + // 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + // 0xff, 0x20, 0x20, 0x70, 0xf8, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1e, 0x3e, 0x7c, + // 0xf8, 0xf1, 0xf1, 0xe1, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + // 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe1, 0xf1, 0xf1, 0xf8, + // 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x20, + // 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + // 0x7f, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7e, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x3c, + // 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, + // 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0e, + // 0x0e, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // }; oled_write_raw_P(ffkb_logo, sizeof(ffkb_logo)); @@ -260,29 +260,29 @@ static void render_status(void) { // ffkb logo, 128x48px static const char ffkb_logo_small [] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, - 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xf8, 0xfe, 0x8e, 0xdc, 0xf0, 0x70, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x70, 0xf0, 0xd8, 0x9c, 0x9e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, - 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x10, - 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x10, 0x10, 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x78, 0x7c, - 0xff, 0xd7, 0x9b, 0x18, 0x78, 0x78, 0x18, 0x30, 0x70, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, - 0x18, 0x58, 0x78, 0x18, 0x99, 0x9b, 0xf7, 0xfc, 0x78, 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0x78, 0xfc, 0xfc, 0xfe, 0xff, 0xf8, 0xf0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x10, 0x10, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x18, 0x3f, 0x7f, 0x68, 0x68, 0x3f, 0x3f, 0x0c, - 0x0c, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, 0x01, 0x0b, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, + 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf8, 0xfe, 0x8e, 0xdc, 0xf0, 0x70, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x70, 0xf0, 0xd8, 0x9c, 0x9e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x10, + 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x10, 0x10, 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x78, 0x7c, + 0xff, 0xd7, 0x9b, 0x18, 0x78, 0x78, 0x18, 0x30, 0x70, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, + 0x18, 0x58, 0x78, 0x18, 0x99, 0x9b, 0xf7, 0xfc, 0x78, 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0x78, 0xfc, 0xfc, 0xfe, 0xff, 0xf8, 0xf0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x10, 0x10, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x18, 0x3f, 0x7f, 0x68, 0x68, 0x3f, 0x3f, 0x0c, + 0x0c, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, 0x01, 0x0b, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, 0x0c, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 }; oled_write_raw_P(ffkb_logo_small, sizeof(ffkb_logo_small)); diff --git a/keyboards/fingerpunch/ffkb_byomcu/keymaps/via/keymap.c b/keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/via/keymap.c similarity index 100% rename from keyboards/fingerpunch/ffkb_byomcu/keymaps/via/keymap.c rename to keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/via/keymap.c diff --git a/keyboards/fingerpunch/ffkb_byomcu/keymaps/via/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/via/rules.mk similarity index 100% rename from keyboards/fingerpunch/ffkb_byomcu/keymaps/via/rules.mk rename to keyboards/fingerpunch/ffkb_byomcu/v1/keymaps/via/rules.mk diff --git a/keyboards/fingerpunch/ffkb_byomcu/kle-via.json b/keyboards/fingerpunch/ffkb_byomcu/v1/kle-via.json similarity index 100% rename from keyboards/fingerpunch/ffkb_byomcu/kle-via.json rename to keyboards/fingerpunch/ffkb_byomcu/v1/kle-via.json diff --git a/keyboards/fingerpunch/ffkb_byomcu/v1/readme.md b/keyboards/fingerpunch/ffkb_byomcu/v1/readme.md new file mode 100644 index 000000000000..cb98de7f3698 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v1/readme.md @@ -0,0 +1,27 @@ +# ffkb + +An ergonomic 30% keyboard + +* Keyboard Maintainer: [sadekbaroudi](https://github.com/sadekbaroudi) + +Faux fox keyboard (ffkb) + +Make example for this keyboard (after setting up your build environment): +``` + make fingerpunch/ffkb_byomcu:default RGBLIGHT_ENABLE=yes FP_EC11_UNDER_PALMS=yes CIRQUE_ENABLE=yes OLED_ENABLE=yes +``` + +Don't forget to add ```CONVERT_TO=stemcell``` if using a stemcell controller. + +Options are: +``` + RGBLIGHT_ENABLE=yes + RGB_MATRIX_ENABLE=yes + OLED_ENABLE=yes + FP_EC11_CENTER=yes + FP_EC11_UNDER_PALMS=yes + FP_EVQ_UNDER_PALMS=yes + PIMORONI_TRACKBALL_ENABLE=yes +``` + +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). diff --git a/keyboards/fingerpunch/ffkb_byomcu/v1/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/v1/rules.mk new file mode 100644 index 000000000000..2cc6d6a69c99 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v1/rules.mk @@ -0,0 +1,64 @@ +# 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 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +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 + +# Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no +RGB_MATRIX_DRIVER = WS2812 + +MIDI_ENABLE = no # MIDI support +UNICODE_ENABLE = no # Unicode +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 +ENCODER_ENABLE = no +OLED_ENABLE = no # this can be yes or no depending on if you have an OLED +EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed + # for instance, if you build "no_features", it's very unlikely you'll need to disable macros +MOUSEKEY_ENABLE = no + +PIMORONI_TRACKBALL_ENABLE = no + +ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := pimoroni_trackball + OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE +endif + +ifeq ($(strip $(FP_EC11_CENTER)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EC11_CENTER +endif + +ifeq ($(strip $(FP_EC11_UNDER_PALMS)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EC11_UNDER_PALMS +endif + +ifeq ($(strip $(FP_EVQ_UNDER_PALMS)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EVQ_UNDER_PALMS +endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/v1/v1.c b/keyboards/fingerpunch/ffkb_byomcu/v1/v1.c new file mode 100644 index 000000000000..1813ae7c6cfe --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v1/v1.c @@ -0,0 +1,60 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ +#include "v1.h" + +#ifdef RGB_MATRIX_ENABLE +// 6 column config +led_config_t g_led_config = { { + {2, 3, 8, 9, 14, 15, 26, 27}, + {1, 4, 7, 10, 13, 16, 25, 28}, + {0, 5, 6, 11, 12, 17, 24, 29}, + {NO_LED, NO_LED, 31, 35, 33, 37, 36, 39}, + {NO_LED, NO_LED, 30, 32, 34, 38, 41, 40}, + {NO_LED, NO_LED, 23, 18, 19, 20, 21, 22} +}, { + {0,32},{3,19},{7,5},{25,4},{21,18},{17,31},{35,26},{39,12},{43,0},{60,0},{56,12},{52,26}, + {66,33},{70,20},{74,6},{89,12},{85,25},{81,38},{61,50},{77,55},{93,63},{129,63},{145,55},{161,50}, + {141,38},{137,25},{133,12},{148,6},{152,20},{156,33},{170,26},{166,12},{162,0},{179,0},{183,12},{187,26}, + {205,31},{201,18},{197,4},{215,5},{219,19},{223,32} +}, { + 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 1, 1, 1 +} }; + +// 5 column config +/* +led_config_t g_led_config = { { + {NO_LED, 0, 5, 6, 11, 12, 23, 24}, + {NO_LED, 1, 4, 7, 10, 13, 22, 25}, + {NO_LED, 2, 3, 8, 9, 14, 21, 26}, + {NO_LED, NO_LED, 28, 32, 30, 34, 33, NO_LED}, + {NO_LED, NO_LED, 27, 29, 31, 35, NO_LED, NO_LED}, + {NO_LED, NO_LED, 20, 15, 16, 17, 18, 19} +}, { + {25,4},{21,18},{17,31},{35,26},{39,12},{43,0},{60,0},{56,12},{52,26}, + {66,33},{70,20},{74,6},{89,12},{85,25},{81,38},{61,50},{77,55},{93,63},{129,63},{145,55},{161,50}, + {141,38},{137,25},{133,12},{148,6},{152,20},{156,33},{170,26},{166,12},{162,0},{179,0},{183,12},{187,26}, + {205,31},{201,18},{197,4} +}, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 1, 1, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4 +} }; +*/ +#endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/v1/v1.h b/keyboards/fingerpunch/ffkb_byomcu/v1/v1.h new file mode 100644 index 000000000000..4b03fd79b511 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v1/v1.h @@ -0,0 +1,34 @@ +/* Copyright 2021-2022 Sadek Baroudi + * + * 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 . + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT_ffkb( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K32, K34, K35, K36, K37, K38, K39, K3B, \ + K3A \ +) \ +{ \ + { K01, K02, K03, K04, K05, K06, K07, K08 }, \ + { K11, K12, K13, K14, K15, K16, K17, K18 }, \ + { K21, K22, K23, K24, K25, K26, K27, K28 }, \ + { KC_NO, KC_NO, K19, K2A, K0A, K1B, K2B, K0C }, \ + { KC_NO, K3A, K29, K09, K1A, K0B, K2C, K1C }, \ + { K3B, K32, K39, K34, K35, K36, K37, K38 } \ +} diff --git a/keyboards/fingerpunch/ffkb_byomcu/v1/via.json b/keyboards/fingerpunch/ffkb_byomcu/v1/via.json new file mode 100644 index 000000000000..c7a920f24ec0 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v1/via.json @@ -0,0 +1,322 @@ +{ + "name": "ffkb v1", + "vendorId": "0xFEFE", + "productId": "0xFFBB", + "matrix": {"rows": 4, "cols": 12}, + "lighting": "qmk_rgblight", + "layouts": { + "labels": [ + ["Layout"] + ], + "keymap": [ + [ + { + "y": 4, + "x": 7 + }, + "3,9\nenc2" + ], + [ + { + "r": 15, + "rx": 1, + "y": -0.09999999999999998, + "x": 3 + }, + "0,3" + ], + [ + { + "y": -0.65, + "x": 2 + }, + "0,2", + { + "x": 1 + }, + "0,4" + ], + [ + { + "y": -0.85, + "x": 5 + }, + "0,5" + ], + [ + { + "y": -0.4999999999999999, + "x": 3, + "c": "#5dd971" + }, + "1,3\nAlt" + ], + [ + { + "y": -0.8999999999999999, + "x": 1, + "c": "#cccccc" + }, + "0,1" + ], + [ + { + "y": -0.75, + "x": 2, + "c": "#5dd971" + }, + "1,2\nWin", + { + "x": 1 + }, + "1,4\nShift" + ], + [ + { + "y": -0.8775, + "c": "#cccccc" + }, + "0,0" + ], + [ + { + "y": -0.9725000000000001, + "x": 5 + }, + "1,5" + ], + [ + { + "y": -0.5, + "x": 3 + }, + "2,3" + ], + [ + { + "y": -0.8999999999999999, + "x": 1, + "c": "#5dd971" + }, + "1,1\nCtrl" + ], + [ + { + "y": -0.75, + "x": 2, + "c": "#cccccc" + }, + "2,2", + { + "x": 1 + }, + "2,4" + ], + [ + { + "y": -0.8775 + }, + "1,0" + ], + [ + { + "y": -0.9725000000000001, + "x": 5 + }, + "2,5" + ], + [ + { + "y": -0.3999999999999999, + "x": 1 + }, + "2,1" + ], + [ + { + "y": -0.6275 + }, + "2,0" + ], + [ + { + "y": -0.6225000000000005, + "x": 2.5 + }, + "3,1\nenc1", + { + "x": 0.5 + }, + "3,3" + ], + [ + { + "r": 25, + "y": -1.9500000000000002, + "x": 5.8 + }, + "3,4" + ], + [ + { + "r": 35, + "y": -2.1999999999999997, + "x": 7.4 + }, + "3,5" + ], + [ + { + "r": -35, + "rx": 10.65, + "ry": 4.5, + "y": -0.25, + "x": -3.1000000000000005 + }, + "3,6" + ], + [ + { + "r": -25, + "y": -0.6500000000000004, + "x": -1.9000000000000004 + }, + "3,7" + ], + [ + { + "r": -15, + "y": -0.8499999999999996, + "x": -0.6500000000000004 + }, + "3,8", + { + "x": 0.5 + }, + "3,10\nenc3" + ], + [ + { + "rx": 11, + "ry": 4.3, + "y": -3.535 + }, + "0,8" + ], + [ + { + "y": -0.6499999999999999, + "x": -1 + }, + "0,7", + { + "x": 1 + }, + "0,9" + ], + [ + { + "y": -0.8499999999999999, + "x": -2 + }, + "0,6" + ], + [ + { + "y": -0.5, + "c": "#5dd971" + }, + "1,8\nAlt" + ], + [ + { + "y": -0.8999999999999997, + "x": 2, + "c": "#cccccc" + }, + "0,10" + ], + [ + { + "y": -0.7500000000000004, + "x": -1, + "c": "#5dd971" + }, + "1,7\nShift", + { + "x": 1 + }, + "1,9\nWin" + ], + [ + { + "y": -0.8775, + "x": 3, + "c": "#cccccc" + }, + "0,11" + ], + [ + { + "y": -0.9724999999999997, + "x": -2 + }, + "1,6" + ], + [ + { + "y": -0.5000000000000004 + }, + "2,8" + ], + [ + { + "y": -0.8999999999999995, + "x": 2, + "c": "#5dd971" + }, + "1,10\nCtrl" + ], + [ + { + "y": -0.7500000000000004, + "x": -1, + "c": "#cccccc" + }, + "2,7", + { + "x": 1 + }, + "2,9" + ], + [ + { + "y": -0.8912500000000003, + "x": 3 + }, + "1,11" + ], + [ + { + "y": -0.9737499999999999, + "x": -2 + }, + "2,6" + ], + [ + { + "y": -0.3849999999999998, + "x": 2 + }, + "2,10" + ], + [ + { + "y": -0.6412500000000003, + "x": 3 + }, + "2,11" + ] + ] + } +} \ No newline at end of file diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/config.h b/keyboards/fingerpunch/ffkb_byomcu/v2/config.h new file mode 100644 index 000000000000..12b3abfeb0c6 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/config.h @@ -0,0 +1,70 @@ +/* +Copyright 2021 Sadek Baroudi + +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 . +*/ + +#pragma once +#include "config_common.h" + + +/* USB Device descriptor parameter */ +#define DEVICE_VER 0x0002 + +/* key matrix size */ +/* Rows are doubled up */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 8 + +// wiring +#define MATRIX_ROW_PINS \ + { D2, F4, F5, F6, F7, B1 } +#define MATRIX_COL_PINS \ + { B5, B4, E6, D7, C6, D4, B2, B3 } + +#define ENCODERS_PAD_A {D5, B6, D1} +#define ENCODERS_PAD_B {B7, F1, D0} + +#ifdef FP_EVQ_UNDER_PALMS +#define ENCODERS_A_REVERSE +#define ENCODERS_B_REVERSE +#endif + +#ifdef FP_EC11_UNDER_PALMS +#define ENCODERS_C_REVERSE +#endif + +#if defined(OLED_ENABLE) || defined(PIMORONI_TRACKBALL_ENABLE) +#undef ENCODERS_PAD_A +#define ENCODERS_PAD_A {D5, B6} +#undef ENCODERS_PAD_B +#define ENCODERS_PAD_B {B7, F1} +#endif + +#define ENCODER_RESOLUTION 2 + +#ifdef PIMORONI_TRACKBALL_ENABLE +#define PIMORONI_TRACKBALL_ROTATE +#define PIMORONI_TRACKBALL_CLICK +#endif + +#ifdef CIRQUE_ENABLE + // cirque trackpad config + #define CIRQUE_PINNACLE_ADDR 0x2A + #define POINTING_DEVICE_ROTATION_90 + #define CIRQUE_PINNACLE_TAP_ENABLE + #define POINTING_DEVICE_TASK_THROTTLE_MS 5 + #define I2C1_CLOCK_SPEED 400000 + #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 +#endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/fp_build.json b/keyboards/fingerpunch/ffkb_byomcu/v2/fp_build.json new file mode 100644 index 000000000000..71bbcd8147e6 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/fp_build.json @@ -0,0 +1,36 @@ +[ + { + "type" : "convert-to", + "name" : "stemcell" + }, + { + "type" : "single", + "name" : "CIRQUE_ENABLE", + "user_input": "Do you have a cirque?" + }, + { + "type" : "one-of", + "names" : [ "RGBLIGHT_ENABLE", "RGB_MATRIX_ENABLE" ], + "user_input": "No RGB, RGB light, RGB matrix?" + }, + { + "type" : "single", + "name" : "OLED_ENABLE", + "user_input": "Do you have an OLED?" + }, + { + "type" : "single", + "name" : "FP_EC11_CENTER", + "user_input": "Do you have an EC11 in the center?" + }, + { + "type" : "one-of", + "names" : [ "FP_EC11_UNDER_PALMS", "FP_EVQ_UNDER_PALMS" ], + "user_input": "No under palm encoders, EC11, or EVQ?" + }, + { + "type" : "single", + "name" : "PIMORONI_TRACKBALL_ENABLE", + "user_input": "Do you have a pimoroni trackball?" + } +] diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/default/keymap.c b/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/default/keymap.c new file mode 100644 index 000000000000..27f7e9ca0603 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/default/keymap.c @@ -0,0 +1,362 @@ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _QWERTY, + _COLEMAK, + _LOWER, + _RAISE, + _ADJUST, + _MOUSE +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | Q | W | E | R | T | | Y | U | I | O | P |BckSpc| + * |------+------+------+------+------+------| ,------. |------+------+------+------+------+------| + * | TAB | A | S | D | F | G | |ALTTAB| | H | J | K | L | ; | ' | + * |------+------+------+------+------+------| `------' |------+------+------+------+------+------| + * | SFT | Z | X | C | V | B | | N | M | , | . | / | SFT | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +// Default config uses home row mods. So hold each of the keys on the home row to use ctrl, gui, alt, or shift +[_QWERTY] = LAYOUT_ffkb( + 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_TAB, LCTL_T(KC_A), LGUI_T(KC_S), LALT_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, RSFT_T(KC_J), RALT_T(KC_K), RGUI_T(KC_L), RCTL_T(KC_SCLN), KC_QUOT, + 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_MUTE, KC_BSLS, KC_ENT, LOWER, RAISE, KC_SPC, KC_DEL, LCTL(KC_BSPC), + LALT(KC_TAB) +), + +/* Colemak-dh + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | Q | W | E | R | T | | Y | U | I | O | P |BckSpc| + * |------+------+------+------+------+------| ,------. |------+------+------+------+------+------| + * | TAB | A | S | D | F | G | |ALTTAB| | H | J | K | L | ; | ' | + * |------+------+------+------+------+------| `------' |------+------+------+------+------+------| + * | SFT | Z | X | C | V | B | | N | M | , | . | / | SFT | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +// Default config uses home row mods. So hold each of the keys on the home row to use ctrl, gui, alt, or shift +[_COLEMAK] = LAYOUT_ffkb( + KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + KC_TAB, LCTL_T(KC_A), LGUI_T(KC_R), LALT_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, RSFT_T(KC_N), RALT_T(KC_E), RGUI_T(KC_I), RCTL_T(KC_O), KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_MUTE, KC_BSLS, KC_ENT, LOWER, RAISE, KC_SPC, KC_DEL, LCTL(KC_BSPC), + LALT(KC_TAB) +), + +/* Raise + * + * ,-----------------------------------------. ,-----------------------------------------. + * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + * |------+------+------+------+------+------| ,------. |------+------+------+------+------+------| + * | | | | | | | |ALTTAB| | | _ | + | { | } | | + * |------+------+------+------+------+------| `------' |------+------+------+------+------+------| + * | | Caps| | | | | | | | | | | " | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +[_RAISE] = LAYOUT_ffkb( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TAB, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______ +), +/* Lower + * + * ,-----------------------------------------. ,-----------------------------------------. + * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + * |------+------+------+------+------+------| ,------. |------+------+------+------+------+------| + * | | | | | | | |ALTTAB| | | _ | + | { | } | | + * |------+------+------+------+------+------| `------' |------+------+------+------+------+------| + * | | Caps| | | | | | | | | | | " | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_LOWER] = LAYOUT_ffkb( + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, + _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_DQT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______ +), + +/* Adjust (Lower + Raise) + + * ,-----------------------------------------. ,-----------------------------------------. + * | | RGB_T| RGB_R| RGB_F| |QWERTY| | F1 | F2 | F3 | F4 | F5 | | + * |------+------+------+------+------+------| ,------. |------+------+------+------+------+------| + * | | SPD_I| HUE_I| SAT_I| VAL_I|COLEMK| |ALTTAB| | F6 | F7 | F8 | F9 | F10 | | + * |------+------+------+------+------+------| `------' |------+------+------+------+------+------| + * | | SPD_D| HUE_D| SAT_D| VAL_D| | | F11 | F12 | | | Reset| | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_ADJUST] = LAYOUT_ffkb( + _______, RGB_TOG, RGB_RMOD, RGB_MOD, _______, TO(_QWERTY), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, + _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, TO(_COLEMAK), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_F11, KC_F12, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______ +), + +/* Mouse layer + + * ,-----------------------------------------. ,-----------------------------------------. + * | | |KC_WHU| |KC_WHD| | | | | | | | | + * |------+------+------+------+------+------| ,------. |------+------+------+------+------+------| + * | |KC_WHL|MSBTN3|MSBTN2|MSBTN1|KC_WHR| | | | | | | | | | + * |------+------+------+------+------+------| `------' |------+------+------+------+------+------| + * | | | | | | | | | | | | | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_MOUSE] = LAYOUT_ffkb( + _______, _______, KC_WH_U, _______, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, + _______, KC_WH_L, KC_BTN3, KC_BTN2, KC_BTN1, KC_WH_R, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______ +) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +#ifdef ENCODER_ENABLE + +bool encoder_update_user(uint8_t index, bool clockwise) { + // default behavior if undefined + if (index == 0) { + // Conditional to reverse the direction of encoder number 1 + // The reason I have this is that for some of my boards, it supports two different types of encoders, and they may differ in direction + #ifdef ENCODERS_A_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + else if (index == 1) { + // Conditional to reverse the direction of encoder number 1 + // The reason I have this is that for some of my boards, it supports two different types of encoders, and they may differ in direction + #ifdef ENCODERS_B_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + tap_code16(C(KC_RGHT)); + } + else{ + tap_code16(C(KC_LEFT)); + } + } + else if (index == 2) { + #ifdef ENCODERS_C_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + press_super_tab(true); + } else { + press_super_tab(false); + } + } + + return true; +} +#endif + +#ifdef OLED_ENABLE + + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} + + +// Commenting out logo as it takes up a lot of space :( +static void render_logo(void) { + // ffkb logo, 128x64px + static const char PROGMEM ffkb_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xe0, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0x02, 0x02, 0x02, 0x82, 0x06, 0x0e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x0f, 0x07, 0x0f, 0x1f, + 0x3e, 0x7c, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, + 0x1f, 0x0f, 0x07, 0x0f, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x02, 0x82, + 0x82, 0xc2, 0xe2, 0xde, 0x0e, 0x0e, 0x06, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x02, 0x02, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0xf8, 0xfc, 0x7e, + 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x1f, 0x3f, + 0x7e, 0xfc, 0xf8, 0xe0, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x1f, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xff, 0x7f, 0x1f, 0x87, 0x83, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x83, 0x87, 0x1f, 0x7f, 0xff, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, + 0x04, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0x20, 0x20, 0x20, 0x20, 0x60, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x18, 0x3c, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xcf, 0x8f, 0x87, 0x07, 0x07, 0x07, 0x07, + 0x07, 0xe7, 0xe7, 0xe7, 0xc7, 0x07, 0x07, 0x0f, 0x3f, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0x3f, 0x0f, 0x07, 0x07, 0xc7, 0xe7, 0xe7, 0xe7, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x87, 0x8f, 0xcf, 0xef, 0xef, 0xff, 0xff, 0x7f, 0x3e, 0x3c, 0x18, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0x20, + 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x20, 0x20, 0x70, 0xf8, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1e, 0x3e, 0x7c, + 0xf8, 0xf1, 0xf1, 0xe1, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe1, 0xf1, 0xf1, 0xf8, + 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x20, + 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7e, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x3c, + 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, + 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0e, + 0x0e, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + +}; + oled_write_raw_P(ffkb_logo, sizeof(ffkb_logo)); + +} + +/* +static void render_status(void) { + oled_write_P(PSTR(" Layer: "), false); + switch (get_highest_layer(layer_state|default_layer_state)) { + case _ALPHA_ALT: + oled_write_P(PSTR("Alphalt "), false); + break; + case _ALPHA: + oled_write_P(PSTR("Alpha "), false); + break; + case _NAVIGATION: + oled_write_P(PSTR("Nav "), false); + break; + case _SYMBOLS: + oled_write_P(PSTR("Symbols "), false); + break; + case _FUNCTION: + oled_write_P(PSTR("Function "), false); + break; + case _MEDIA: + oled_write_P(PSTR("Media "), false); + break; + case _MOUSE: + oled_write_P(PSTR("Mouse "), false); + break; + default: + oled_write_P(PSTR("Unkn "), false); + break; + } + + // // Write host Keyboard LED Status to OLEDs + // led_t led_usb_state = host_keyboard_led_state(); + // oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + // oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + // oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); + + // ffkb logo, 128x48px + static const char ffkb_logo_small [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, + 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf8, 0xfe, 0x8e, 0xdc, 0xf0, 0x70, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x70, 0xf0, 0xd8, 0x9c, 0x9e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x10, + 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x10, 0x10, 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x78, 0x7c, + 0xff, 0xd7, 0x9b, 0x18, 0x78, 0x78, 0x18, 0x30, 0x70, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, + 0x18, 0x58, 0x78, 0x18, 0x99, 0x9b, 0xf7, 0xfc, 0x78, 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0x78, 0xfc, 0xfc, 0xfe, 0xff, 0xf8, 0xf0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x10, 0x10, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x18, 0x3f, 0x7f, 0x68, 0x68, 0x3f, 0x3f, 0x0c, + 0x0c, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, 0x01, 0x0b, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x08, 0x08, 0x0c, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + oled_write_raw_P(ffkb_logo_small, sizeof(ffkb_logo_small)); +} +*/ + +bool oled_task_user(void) { + // If you don't want to display the logo, switch + if (false) { + //render_status(); + } else if (true) { + render_logo(); + } else { + //render_logo_text(); + } + return true; +} + +#endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/manna-harbour_miryoku/config.h b/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 000000000000..4885988f2bed --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,22 @@ +// Copyright 2022 Manna Harbour +// https://github.com/manna-harbour/miryoku + +// 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 . + +#pragma once + +#define XXX KC_NO + +#define LAYOUT_miryoku( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_ffkb( \ +XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ +XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ +XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \ + XXX, K32, K33, K34, K35, K36, K37, XXX, \ + XXX \ +) diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/manna-harbour_miryoku/keymap.c new file mode 100644 index 000000000000..fadfdc83651a --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/manna-harbour_miryoku/keymap.c @@ -0,0 +1,4 @@ +// Copyright 2022 Manna Harbour +// https://github.com/manna-harbour/miryoku + +// 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 . diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/sadekbaroudi/keymap.c new file mode 100644 index 000000000000..8786134b07e7 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/sadekbaroudi/keymap.c @@ -0,0 +1,349 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ + +#include "sadekbaroudi.h" +#ifdef PIMORONI_TRACKBALL_ENABLE +#include "drivers/sensors/pimoroni_trackball.h" +#include "pointing_device.h" +#include "color.h" +#endif +#include QMK_KEYBOARD_H + +/* + * The `LAYOUT_ffkb_base` macro is a template to allow the use of identical + * modifiers for the default layouts (eg ALPHA_ALT, Colemak, Dvorak, etc), so + * that there is no need to set them up for each layout, and modify all of + * them if I want to change them. This helps to keep consistency and ease + * of use. K## is a placeholder to pass through the individual keycodes + */ + +// clang-format off +#define LAYOUT_ffkb_base( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \ + K33, K34, K35, K36, K37, K38 \ + ) \ + LAYOUT_wrapper( \ + FP_SCROLL_TOG, K01, K02, K03, LT(_FUNCTION, K04), K05, K06, LT(_FUNCTION, K07), K08, K09, K0A, KC_BSLS, \ + KC_MS_BTN1, LCTL_T(K11), LGUI_T(K12), LALT_T(K13), LSFT_T(K14), K15, LT(_MOUSE, K16), RSFT_T(K17), RALT_T(K18), RGUI_T(K19), RCTL_T(K1A), LCTL(KC_V), \ + FP_SNIPE_TOG, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, FP_SUPER_TAB, \ + KC_MUTE, K33, LT(_NAVIGATION,K34), LT(_FUNCTION,K35), LT(_MEDIA,K36), LT(_SYMBOLS,K37), K38, LCTL(KC_BSPC), \ + N_DEL_LINE \ + ) + +/* Re-pass though to allow templates to be used */ +#define LAYOUT_ffkb_byomcu_base_wrapper(...) LAYOUT_ffkb_base(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_ALPHA_ALT] = LAYOUT_ffkb_byomcu_base_wrapper( + _________________ALPHA_ALT_L1_________________, _________________ALPHA_ALT_R1_________________, + _________________ALPHA_ALT_L2_________________, _________________ALPHA_ALT_R2_________________, + _________________ALPHA_ALT_L3_________________, _________________ALPHA_ALT_R3_________________, + __ALPHA_ALT_THUMBS_6__ + ), + + [_ALPHA] = LAYOUT_ffkb_byomcu_base_wrapper( + __________________ALPHA_L1____________________, __________________ALPHA_R1____________________, + __________________ALPHA_L2____________________, __________________ALPHA_R2____________________, + __________________ALPHA_L3____________________, __________________ALPHA_R3____________________, + __ALPHA_THUMBS_6__ + ), + + [_NAVIGATION] = LAYOUT_wrapper( + _______, ________________NAVIGATION_1_______________, _________________NUMPAD_1__________________, _______, + _______, ________________NAVIGATION_2_______________, _________________NUMPAD_2__________________, _______, + _______, ________________NAVIGATION_3_______________, _________________NUMPAD_3__________________, _______, + _______, _______, _______, KC_TAB, KC_BSPC, KC_SPACE, KC_DOT, _______, + _______ + ), + + [_SYMBOLS] = LAYOUT_wrapper( + _______, ________________SYMBOLS_L1_________________, ________________SYMBOLS_R1_________________, _______, + _______, ________________SYMBOLS_L2_________________, ________________SYMBOLS_R2_________________, _______, + _______, ________________SYMBOLS_L3_________________, ________________SYMBOLS_R3_________________, _______, + _______, _______, KC_ENT, KC_DEL, KC_BSPC, _______, _______, _______, + _______ + ), + + [_FUNCTION] = LAYOUT_wrapper( + _______, ________________SHIFTNAV_1_________________, ________________FUNCTION_1_________________, _______, + _______, ________________SHIFTNAV_2_________________, ________________FUNCTION_2_________________, _______, + _______, ________________SHIFTNAV_3_________________, ________________FUNCTION_3_________________, _______, + _______, _______, _______, _______, N_DEL_LINE, KC_SPACE, _______, _______, + _______ + ), + + [_MEDIA] = LAYOUT_wrapper( + _______, ___________________RGB_1___________________, _________________MACROS_1__________________, _______, + _______, ___________________RGB_2___________________, _________________MACROS_2__________________, _______, + _______, ___________________RGB_3___________________, _________________MACROS_3__________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______ + ), + + [_MOUSE] = LAYOUT_wrapper( + _______, _______________AUTO_MOUSE_1________________, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_2________________, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_3________________, ___________________BLANK___________________, _______, + _______, _______, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN3, KC_MS_BTN2, _______, _______, + _______ + ), + +}; + + +#ifdef OLED_ENABLE + + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} + + +static void render_logo(void) { + // ffkb logo, 128x32px + static const char PROGMEM ffkb_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0x10, 0x10, 0x10, 0x90, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0x3c, 0x3c, 0x38, 0x70, + 0x70, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0x70, + 0x70, 0x38, 0x3c, 0x3c, 0xfc, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x10, 0x00, + 0x80, 0x90, 0xd0, 0xf0, 0x30, 0x30, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, + 0x3f, 0x21, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe7, 0xff, 0x7f, 0x7f, 0xbc, 0x9e, 0x8e, 0x8f, + 0x87, 0x87, 0x83, 0x83, 0x81, 0x81, 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0x81, 0x81, 0x83, 0x83, 0x87, 0x87, + 0x8f, 0x8e, 0x9e, 0xbc, 0x7f, 0x7f, 0xff, 0xe7, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x23, 0x07, + 0x0f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0x44, 0x44, 0x44, 0xe4, 0x0c, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x06, 0x06, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1b, 0x3b, 0x3b, 0x73, 0x73, 0x73, 0xe3, + 0xe3, 0xdf, 0xdf, 0xdf, 0x8b, 0x83, 0x03, 0x03, 0x07, 0x1f, 0xfe, 0xfc, 0xf8, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xfe, 0x1f, 0x07, 0x03, 0x03, 0x83, 0x8b, 0xdf, 0xdf, 0xdf, 0xe3, + 0xe3, 0x73, 0x73, 0x73, 0x3b, 0x3b, 0x1b, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x06, 0x06, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x44, 0x44, + 0x44, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xb8, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0e, 0x1f, 0x3f, 0x3f, 0x3f, 0x36, 0x36, + 0x36, 0x36, 0x3f, 0x3f, 0x3f, 0x1f, 0x0e, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, + 0x08, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + // ffkb logo, 128x64px + // static const char PROGMEM ffkb_logo[] = { + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0x80, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x80, 0xc0, 0xe0, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + // 0xfe, 0x02, 0x02, 0x02, 0x82, 0x06, 0x0e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x0f, 0x07, 0x0f, 0x1f, + // 0x3e, 0x7c, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + // 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, + // 0x1f, 0x0f, 0x07, 0x0f, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x02, 0x82, + // 0x82, 0xc2, 0xe2, 0xde, 0x0e, 0x0e, 0x06, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + // 0xff, 0x02, 0x02, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0xf8, 0xfc, 0x7e, + // 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x1f, 0x3f, + // 0x7e, 0xfc, 0xf8, 0xe0, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x1f, + // 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + // 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xff, 0x7f, 0x1f, 0x87, 0x83, 0x80, 0x80, + // 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + // 0x80, 0x80, 0x83, 0x87, 0x1f, 0x7f, 0xff, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, + // 0x04, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + // 0xe0, 0x20, 0x20, 0x20, 0x20, 0x60, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x08, 0x18, 0x3c, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xcf, 0x8f, 0x87, 0x07, 0x07, 0x07, 0x07, + // 0x07, 0xe7, 0xe7, 0xe7, 0xc7, 0x07, 0x07, 0x0f, 0x3f, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0x3f, 0x0f, 0x07, 0x07, 0xc7, 0xe7, 0xe7, 0xe7, 0x07, + // 0x07, 0x07, 0x07, 0x07, 0x87, 0x8f, 0xcf, 0xef, 0xef, 0xff, 0xff, 0x7f, 0x3e, 0x3c, 0x18, 0x08, + // 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0x20, + // 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + // 0xff, 0x20, 0x20, 0x70, 0xf8, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1e, 0x3e, 0x7c, + // 0xf8, 0xf1, 0xf1, 0xe1, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + // 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe1, 0xf1, 0xf1, 0xf8, + // 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x20, + // 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + // 0x7f, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7e, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x3c, + // 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, + // 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0e, + // 0x0e, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + // }; + oled_write_raw_P(ffkb_logo, sizeof(ffkb_logo)); + +} + + +/* +static void render_status(void) { + oled_write_P(PSTR(" Layer: "), false); + switch (get_highest_layer(layer_state|default_layer_state)) { + case _ALPHA_ALT: + oled_write_P(PSTR("Alphalt "), false); + break; + case _ALPHA: + oled_write_P(PSTR("Alpha "), false); + break; + case _NAVIGATION: + oled_write_P(PSTR("Nav "), false); + break; + case _SYMBOLS: + oled_write_P(PSTR("Symbols "), false); + break; + case _FUNCTION: + oled_write_P(PSTR("Function "), false); + break; + case _MEDIA: + oled_write_P(PSTR("Media "), false); + break; + case _MOUSE: + oled_write_P(PSTR("Mouse "), false); + break; + default: + oled_write_P(PSTR("Unkn "), false); + break; + } + + // // Write host Keyboard LED Status to OLEDs + // led_t led_usb_state = host_keyboard_led_state(); + // oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + // oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + // oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); + + // ffkb logo, 128x48px + static const char ffkb_logo_small [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, + 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf8, 0xfe, 0x8e, 0xdc, 0xf0, 0x70, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x70, 0xf0, 0xd8, 0x9c, 0x9e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x10, + 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x10, 0x10, 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x78, 0x7c, + 0xff, 0xd7, 0x9b, 0x18, 0x78, 0x78, 0x18, 0x30, 0x70, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, + 0x18, 0x58, 0x78, 0x18, 0x99, 0x9b, 0xf7, 0xfc, 0x78, 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0x78, 0xfc, 0xfc, 0xfe, 0xff, 0xf8, 0xf0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x10, 0x10, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x18, 0x3f, 0x7f, 0x68, 0x68, 0x3f, 0x3f, 0x0c, + 0x0c, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, 0x01, 0x0b, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x08, 0x08, 0x0c, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + oled_write_raw_P(ffkb_logo_small, sizeof(ffkb_logo_small)); +} +*/ + +/* +static void render_logo_text(void) { + oled_write_P(PSTR("ffkb"), false); +} +*/ + +bool oled_task_user(void) { + // If you don't want to display the logo, switch + if (false) { + //render_status(); + } else if (true) { + render_logo(); + } else { + //render_logo_text(); + } + return true; +} + +#endif + + +#if !defined(RGBLIGHT_ENABLE) && defined(PIMORONI_TRACKBALL_ENABLE) +layer_state_t layer_state_set_keymap(layer_state_t state) { + switch (get_highest_layer(state)) { + case _ALPHA_ALT: + if (is_caps_lock_on) { + pimoroni_trackball_set_rgbw(RGB_CYAN, 0x00); + } else { + pimoroni_trackball_set_rgbw(RGB_BLUE, 0x00); + } + break; + case _NAVIGATION: + pimoroni_trackball_set_rgbw(RGB_GREEN, 0x00); + break; + case _SYMBOLS: + pimoroni_trackball_set_rgbw(RGB_PURPLE, 0x00); + break; + case _FUNCTION: + pimoroni_trackball_set_rgbw(RGB_YELLOW, 0x00); + break; + case _MEDIA: + pimoroni_trackball_set_rgbw(RGB_ORANGE, 0x00); + break; + case _MOUSE: + pimoroni_trackball_set_rgbw(RGB_WHITE, 0x00); + break; + default: // for any other layers, or the default layer + if (is_caps_lock_on) { + pimoroni_trackball_set_rgbw(RGB_CYAN, 0x00); + } else { + pimoroni_trackball_set_rgbw(RGB_BLUE, 0x00); + } + break; + } + return state; +} +#endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/via/keymap.c b/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/via/keymap.c new file mode 100644 index 000000000000..4f76efda9406 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/via/keymap.c @@ -0,0 +1,382 @@ +#include QMK_KEYBOARD_H + +#ifdef ENCODER_ENABLE +bool is_alt_tab_active = false; +uint16_t alt_tab_timer = 0; +#endif + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _QWERTY, + _COLEMAK, + _LOWER, + _RAISE, + _ADJUST +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | Q | W | E | R | T | | Y | U | I | O | P |BckSpc| + * |------+------+------+------+------+------| ,------. |------+------+------+------+------+------| + * | TAB | A | S | D | F | G | |ALTTAB| | H | J | K | L | ; | ' | + * |------+------+------+------+------+------| `------' |------+------+------+------+------+------| + * | SFT | Z | X | C | V | B | | N | M | , | . | / | SFT | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +// Default config uses home row mods. So hold each of the keys on the home row to use ctrl, gui, alt, or shift +[_QWERTY] = LAYOUT_ffkb( + 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_TAB, LCTL_T(KC_A), LGUI_T(KC_S), LALT_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, RSFT_T(KC_J), RALT_T(KC_K), RGUI_T(KC_L), RCTL_T(KC_SCLN), KC_QUOT, + 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_MUTE, KC_BSLS, KC_ENT, LOWER, RAISE, KC_SPC, KC_DEL, LCTL(KC_BSPC), + LALT(KC_TAB) +), + +/* Colemak-dh + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | Q | W | E | R | T | | Y | U | I | O | P |BckSpc| + * |------+------+------+------+------+------| ,------. |------+------+------+------+------+------| + * | TAB | A | S | D | F | G | |ALTTAB| | H | J | K | L | ; | ' | + * |------+------+------+------+------+------| `------' |------+------+------+------+------+------| + * | SFT | Z | X | C | V | B | | N | M | , | . | / | SFT | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +// Default config uses home row mods. So hold each of the keys on the home row to use ctrl, gui, alt, or shift +[_COLEMAK] = LAYOUT_ffkb( + KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + KC_TAB, LCTL_T(KC_A), LGUI_T(KC_R), LALT_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, RSFT_T(KC_N), RALT_T(KC_E), RGUI_T(KC_I), RCTL_T(KC_O), KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_MUTE, KC_BSLS, KC_ENT, LOWER, RAISE, KC_SPC, KC_DEL, LCTL(KC_BSPC), + LALT(KC_TAB) +), + + +/* Raise + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | + * |------+------+------+------+------+------| ,------. |------+------+------+------+------+------| + * | Home | Left | Down | Up | Right| End | |ALTTAB| | | - | = | [ | ] | | + * |------+------+------+------+------+------| `------' |------+------+------+------+------+------| + * | | | PgDn | PgUp | | | | | | | | | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +[_RAISE] = LAYOUT_ffkb( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TAB, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______ +), + + + +/* Raise + * + * ,-----------------------------------------. ,-----------------------------------------. + * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + * |------+------+------+------+------+------| ,------. |------+------+------+------+------+------| + * | | | | | | | |ALTTAB| | | _ | + | { | } | | + * |------+------+------+------+------+------| `------' |------+------+------+------+------+------| + * | | Caps| | | | | | | | | | | " | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +[_RAISE] = LAYOUT_ffkb( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TAB, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______ +), +/* Lower + * + * ,-----------------------------------------. ,-----------------------------------------. + * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + * |------+------+------+------+------+------| ,------. |------+------+------+------+------+------| + * | | | | | | | |ALTTAB| | | _ | + | { | } | | + * |------+------+------+------+------+------| `------' |------+------+------+------+------+------| + * | | Caps| | | | | | | | | | | " | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_LOWER] = LAYOUT_ffkb( + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, + _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_DQT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______ +), + +/* Adjust (Lower + Raise) + + * ,-----------------------------------------. ,-----------------------------------------. + * | | RGB_T| RGB_R| RGB_F| |QWERTY| | F1 | F2 | F3 | F4 | F5 | | + * |------+------+------+------+------+------| ,------. |------+------+------+------+------+------| + * | | SPD_I| HUE_I| SAT_I| VAL_I|COLEMK| |ALTTAB| | F6 | F7 | F8 | F9 | F10 | | + * |------+------+------+------+------+------| `------' |------+------+------+------+------+------| + * | | SPD_D| HUE_D| SAT_D| VAL_D| | | F11 | F12 | | | Reset| | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_ADJUST] = LAYOUT_ffkb( + _______, RGB_TOG, RGB_RMOD, RGB_MOD, _______, TO(_QWERTY), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, + _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, TO(_COLEMAK), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_F11, KC_F12, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______ +) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + // default behavior if undefined + if (index == 0) { + // Conditional to reverse the direction of encoder number 1 + // The reason I have this is that for some of my boards, it supports two different types of encoders, and they may differ in direction + #ifdef ENCODERS_A_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + else if (index == 1) { + // Conditional to reverse the direction of encoder number 1 + // The reason I have this is that for some of my boards, it supports two different types of encoders, and they may differ in direction + #ifdef ENCODERS_B_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + tap_code16(C(KC_RGHT)); + } + else{ + tap_code16(C(KC_LEFT)); + } + } + else if (index == 2) { + #ifdef ENCODERS_C_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + register_code(KC_LSHIFT); + } + + if (!is_alt_tab_active) { + is_alt_tab_active = true; + register_code(KC_LALT); + } + alt_tab_timer = timer_read(); + tap_code(KC_TAB); + + #ifdef ENCODERS_C_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + unregister_code(KC_LSHIFT); + } + } + + return true; +} +#endif + +#ifdef OLED_ENABLE + + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} + + +// Commenting out logo as it takes up a lot of space :( +static void render_logo(void) { + // ffkb logo, 128x64px + static const char PROGMEM ffkb_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xe0, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0x02, 0x02, 0x02, 0x82, 0x06, 0x0e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x0f, 0x07, 0x0f, 0x1f, + 0x3e, 0x7c, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, + 0x1f, 0x0f, 0x07, 0x0f, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x02, 0x82, + 0x82, 0xc2, 0xe2, 0xde, 0x0e, 0x0e, 0x06, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x02, 0x02, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0xf8, 0xfc, 0x7e, + 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x1f, 0x3f, + 0x7e, 0xfc, 0xf8, 0xe0, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x1f, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xff, 0x7f, 0x1f, 0x87, 0x83, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x83, 0x87, 0x1f, 0x7f, 0xff, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, + 0x04, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0x20, 0x20, 0x20, 0x20, 0x60, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x18, 0x3c, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xcf, 0x8f, 0x87, 0x07, 0x07, 0x07, 0x07, + 0x07, 0xe7, 0xe7, 0xe7, 0xc7, 0x07, 0x07, 0x0f, 0x3f, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0x3f, 0x0f, 0x07, 0x07, 0xc7, 0xe7, 0xe7, 0xe7, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x87, 0x8f, 0xcf, 0xef, 0xef, 0xff, 0xff, 0x7f, 0x3e, 0x3c, 0x18, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0x20, + 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x20, 0x20, 0x70, 0xf8, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1e, 0x3e, 0x7c, + 0xf8, 0xf1, 0xf1, 0xe1, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe1, 0xf1, 0xf1, 0xf8, + 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x20, + 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7e, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x3c, + 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, + 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0e, + 0x0e, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + +}; + oled_write_raw_P(ffkb_logo, sizeof(ffkb_logo)); + +} + +/* +static void render_status(void) { + oled_write_P(PSTR(" Layer: "), false); + switch (get_highest_layer(layer_state|default_layer_state)) { + case _ALPHA_ALT: + oled_write_P(PSTR("Alphalt "), false); + break; + case _ALPHA: + oled_write_P(PSTR("Alpha "), false); + break; + case _NAVIGATION: + oled_write_P(PSTR("Nav "), false); + break; + case _SYMBOLS: + oled_write_P(PSTR("Symbols "), false); + break; + case _FUNCTION: + oled_write_P(PSTR("Function "), false); + break; + case _MEDIA: + oled_write_P(PSTR("Media "), false); + break; + case _MOUSE: + oled_write_P(PSTR("Mouse "), false); + break; + default: + oled_write_P(PSTR("Unkn "), false); + break; + } + + // // Write host Keyboard LED Status to OLEDs + // led_t led_usb_state = host_keyboard_led_state(); + // oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + // oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + // oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); + + // ffkb logo, 128x48px + static const char ffkb_logo_small [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, + 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf8, 0xfe, 0x8e, 0xdc, 0xf0, 0x70, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x70, 0xf0, 0xd8, 0x9c, 0x9e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x10, + 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x10, 0x10, 0x18, 0x3c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x78, 0x7c, + 0xff, 0xd7, 0x9b, 0x18, 0x78, 0x78, 0x18, 0x30, 0x70, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, + 0x18, 0x58, 0x78, 0x18, 0x99, 0x9b, 0xf7, 0xfc, 0x78, 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0x78, 0xfc, 0xfc, 0xfe, 0xff, 0xf8, 0xf0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x10, 0x10, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x18, 0x3f, 0x7f, 0x68, 0x68, 0x3f, 0x3f, 0x0c, + 0x0c, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x00, 0x01, 0x0b, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x08, 0x08, 0x0c, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + oled_write_raw_P(ffkb_logo_small, sizeof(ffkb_logo_small)); +} +*/ + +bool oled_task_user(void) { + // If you don't want to display the logo, switch + if (false) { + //render_status(); + } else if (true) { + render_logo(); + } else { + //render_logo_text(); + } + return true; +} + +#endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/via/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/kle-via.json b/keyboards/fingerpunch/ffkb_byomcu/v2/kle-via.json new file mode 100755 index 000000000000..06afa3b70723 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/kle-via.json @@ -0,0 +1,310 @@ +[ + [ + { + "y": 4, + "x": 7 + }, + "3,9\nenc2" + ], + [ + { + "r": 15, + "rx": 1, + "y": -0.09999999999999998, + "x": 3 + }, + "0,3" + ], + [ + { + "y": -0.65, + "x": 2 + }, + "0,2", + { + "x": 1 + }, + "0,4" + ], + [ + { + "y": -0.85, + "x": 5 + }, + "0,5" + ], + [ + { + "y": -0.4999999999999999, + "x": 3, + "c": "#5dd971" + }, + "1,3\nAlt" + ], + [ + { + "y": -0.8999999999999999, + "x": 1, + "c": "#cccccc" + }, + "0,1" + ], + [ + { + "y": -0.75, + "x": 2, + "c": "#5dd971" + }, + "1,2\nWin", + { + "x": 1 + }, + "1,4\nShift" + ], + [ + { + "y": -0.8775, + "c": "#cccccc" + }, + "0,0" + ], + [ + { + "y": -0.9725000000000001, + "x": 5 + }, + "1,5" + ], + [ + { + "y": -0.5, + "x": 3 + }, + "2,3" + ], + [ + { + "y": -0.8999999999999999, + "x": 1, + "c": "#5dd971" + }, + "1,1\nCtrl" + ], + [ + { + "y": -0.75, + "x": 2, + "c": "#cccccc" + }, + "2,2", + { + "x": 1 + }, + "2,4" + ], + [ + { + "y": -0.8775 + }, + "1,0" + ], + [ + { + "y": -0.9725000000000001, + "x": 5 + }, + "2,5" + ], + [ + { + "y": -0.3999999999999999, + "x": 1 + }, + "2,1" + ], + [ + { + "y": -0.6275 + }, + "2,0" + ], + [ + { + "y": -0.6225000000000005, + "x": 2.5 + }, + "3,1\nenc1", + { + "x": 0.5 + }, + "3,3" + ], + [ + { + "r": 25, + "y": -1.9500000000000002, + "x": 5.8 + }, + "3,4" + ], + [ + { + "r": 35, + "y": -2.1999999999999997, + "x": 7.4 + }, + "3,5" + ], + [ + { + "r": -35, + "rx": 10.65, + "ry": 4.5, + "y": -0.25, + "x": -3.1000000000000005 + }, + "3,6" + ], + [ + { + "r": -25, + "y": -0.6500000000000004, + "x": -1.9000000000000004 + }, + "3,7" + ], + [ + { + "r": -15, + "y": -0.8499999999999996, + "x": -0.6500000000000004 + }, + "3,8", + { + "x": 0.5 + }, + "3,10\nenc3" + ], + [ + { + "rx": 11, + "ry": 4.3, + "y": -3.535 + }, + "0,8" + ], + [ + { + "y": -0.6499999999999999, + "x": -1 + }, + "0,7", + { + "x": 1 + }, + "0,9" + ], + [ + { + "y": -0.8499999999999999, + "x": -2 + }, + "0,6" + ], + [ + { + "y": -0.5, + "c": "#5dd971" + }, + "1,8\nAlt" + ], + [ + { + "y": -0.8999999999999997, + "x": 2, + "c": "#cccccc" + }, + "0,10" + ], + [ + { + "y": -0.7500000000000004, + "x": -1, + "c": "#5dd971" + }, + "1,7\nShift", + { + "x": 1 + }, + "1,9\nWin" + ], + [ + { + "y": -0.8775, + "x": 3, + "c": "#cccccc" + }, + "0,11" + ], + [ + { + "y": -0.9724999999999997, + "x": -2 + }, + "1,6" + ], + [ + { + "y": -0.5000000000000004 + }, + "2,8" + ], + [ + { + "y": -0.8999999999999995, + "x": 2, + "c": "#5dd971" + }, + "1,10\nCtrl" + ], + [ + { + "y": -0.7500000000000004, + "x": -1, + "c": "#cccccc" + }, + "2,7", + { + "x": 1 + }, + "2,9" + ], + [ + { + "y": -0.8912500000000003, + "x": 3 + }, + "1,11" + ], + [ + { + "y": -0.9737499999999999, + "x": -2 + }, + "2,6" + ], + [ + { + "y": -0.3849999999999998, + "x": 2 + }, + "2,10" + ], + [ + { + "y": -0.6412500000000003, + "x": 3 + }, + "2,11" + ] +] \ No newline at end of file diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/readme.md b/keyboards/fingerpunch/ffkb_byomcu/v2/readme.md new file mode 100644 index 000000000000..32340a6b14e8 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/readme.md @@ -0,0 +1,28 @@ +# ffkb + +An ergonomic 30% keyboard + +* Keyboard Maintainer: [sadekbaroudi](https://github.com/sadekbaroudi) + +Faux fox keyboard (ffkb) + +Make example for this keyboard (after setting up your build environment): +``` + make fingerpunch/ffkb_byomcu:default RGBLIGHT_ENABLE=yes FP_EC11_UNDER_PALMS=yes CIRQUE_ENABLE=yes OLED_ENABLE=yes +``` + +Don't forget to add ```CONVERT_TO=stemcell``` if using a stemcell controller. + +Options are: +``` + CIRQUE_ENABLE=yes + RGBLIGHT_ENABLE=yes + RGB_MATRIX_ENABLE=yes + OLED_ENABLE=yes + FP_EC11_CENTER=yes + FP_EC11_UNDER_PALMS=yes + FP_EVQ_UNDER_PALMS=yes + PIMORONI_TRACKBALL_ENABLE=yes +``` + +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). diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/v2/rules.mk new file mode 100644 index 000000000000..787d69a9a8a0 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/rules.mk @@ -0,0 +1,73 @@ +# 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 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +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 + +# Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no +RGB_MATRIX_DRIVER = WS2812 + +MIDI_ENABLE = no # MIDI support +UNICODE_ENABLE = no # Unicode +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 +ENCODER_ENABLE = no +OLED_ENABLE = no # this can be yes or no depending on if you have an OLED +EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed + # for instance, if you build "no_features", it's very unlikely you'll need to disable macros +MOUSEKEY_ENABLE = no + +CIRQUE_ENABLE = no + +ifeq ($(strip $(CIRQUE_ENABLE)), yes) + MOUSEKEY_ENABLE := yes # not required, but enabling for mouse button keys + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := cirque_pinnacle_i2c + OPT_DEFS += -DCIRQUE_ENABLE +endif + +PIMORONI_TRACKBALL_ENABLE = no + +ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := pimoroni_trackball + OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE +endif + +ifeq ($(strip $(FP_EC11_CENTER)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EC11_CENTER +endif + +ifeq ($(strip $(FP_EC11_UNDER_PALMS)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EC11_UNDER_PALMS +endif + +ifeq ($(strip $(FP_EVQ_UNDER_PALMS)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EVQ_UNDER_PALMS +endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/v2.c b/keyboards/fingerpunch/ffkb_byomcu/v2/v2.c new file mode 100644 index 000000000000..132ca5e61ec2 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/v2.c @@ -0,0 +1,60 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ +#include "v2.h" + +#ifdef RGB_MATRIX_ENABLE +// 6 column config +led_config_t g_led_config = { { + {2, 3, 8, 9, 14, 15, 26, 27}, + {1, 4, 7, 10, 13, 16, 25, 28}, + {0, 5, 6, 11, 12, 17, 24, 29}, + {NO_LED, NO_LED, 31, 35, 33, 37, 36, 39}, + {NO_LED, NO_LED, 30, 32, 34, 38, 41, 40}, + {NO_LED, NO_LED, 23, 18, 19, 20, 21, 22} +}, { + {0,32},{3,19},{7,5},{25,4},{21,18},{17,31},{35,26},{39,12},{43,0},{60,0},{56,12},{52,26}, + {66,33},{70,20},{74,6},{89,12},{85,25},{81,38},{61,50},{77,55},{93,63},{129,63},{145,55},{161,50}, + {141,38},{137,25},{133,12},{148,6},{152,20},{156,33},{170,26},{166,12},{162,0},{179,0},{183,12},{187,26}, + {205,31},{201,18},{197,4},{215,5},{219,19},{223,32} +}, { + 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 1, 1, 1 +} }; + +// 5 column config +/* +led_config_t g_led_config = { { + {NO_LED, 0, 5, 6, 11, 12, 23, 24}, + {NO_LED, 1, 4, 7, 10, 13, 22, 25}, + {NO_LED, 2, 3, 8, 9, 14, 21, 26}, + {NO_LED, NO_LED, 28, 32, 30, 34, 33, NO_LED}, + {NO_LED, NO_LED, 27, 29, 31, 35, NO_LED, NO_LED}, + {NO_LED, NO_LED, 20, 15, 16, 17, 18, 19} +}, { + {25,4},{21,18},{17,31},{35,26},{39,12},{43,0},{60,0},{56,12},{52,26}, + {66,33},{70,20},{74,6},{89,12},{85,25},{81,38},{61,50},{77,55},{93,63},{129,63},{145,55},{161,50}, + {141,38},{137,25},{133,12},{148,6},{152,20},{156,33},{170,26},{166,12},{162,0},{179,0},{183,12},{187,26}, + {205,31},{201,18},{197,4} +}, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 1, 1, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4 +} }; +*/ +#endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/v2/v2.h b/keyboards/fingerpunch/ffkb_byomcu/v2/v2.h new file mode 100644 index 000000000000..f79495353465 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/v2.h @@ -0,0 +1,44 @@ +/* Copyright 2021-2022 Sadek Baroudi + * + * 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 . + */ +#pragma once + +#include "quantum.h" + +/* This 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. + */ + +// 1-40 are the keyswitches, and 50 and 51 are the rotary encoders +#define LAYOUT_ffkb( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K32, K34, K35, K36, K37, K38, K39, K3B, \ + K3A \ +) \ +{ \ + { K01, K02, K03, K04, K05, K06, K07, K08 }, \ + { K11, K12, K13, K14, K15, K16, K17, K18 }, \ + { K21, K22, K23, K24, K25, K26, K27, K28 }, \ + { KC_NO, KC_NO, K19, K2A, K0A, K1B, K2B, K0C }, \ + { KC_NO, K3A, K29, K09, K1A, K0B, K2C, K1C }, \ + { K3B, K32, K39, K34, K35, K36, K37, K38 } \ +} diff --git a/keyboards/fingerpunch/ffkb_byomcu/via.json b/keyboards/fingerpunch/ffkb_byomcu/v2/via.json similarity index 99% rename from keyboards/fingerpunch/ffkb_byomcu/via.json rename to keyboards/fingerpunch/ffkb_byomcu/v2/via.json index 11d5ee06ab12..77b5f683ae76 100644 --- a/keyboards/fingerpunch/ffkb_byomcu/via.json +++ b/keyboards/fingerpunch/ffkb_byomcu/v2/via.json @@ -1,7 +1,7 @@ { "name": "ffkb", "vendorId": "0xFEFE", - "productId": "0xFF3B", + "productId": "0xFFBB", "matrix": {"rows": 4, "cols": 12}, "lighting": "qmk_rgblight", "layouts": { diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/config.h b/keyboards/fingerpunch/ffkb_byomcu/v3/config.h new file mode 100644 index 000000000000..98041e41ca47 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/config.h @@ -0,0 +1,81 @@ +/* +Copyright 2021 Sadek Baroudi + +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 . +*/ + +#pragma once +#include "config_common.h" + + +/* USB Device descriptor parameter */ +#define DEVICE_VER 0x0003 + +/* key matrix size */ +/* Rows are doubled up */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 8 + +// SHIFT REGISTER +// Only needed for matrix_74hc595_spi.c +#define SHIFTREG_MATRIX_COL_CS B6 +#define SHIFTREG_DIVISOR 8 // needs to be the same as the PMW33XX_CS_DIVISOR below +#define MATRIX_ROW_PINS_SR { D2, F4, F5, F6, F7, D4 } + +// SPI config for shift register (and trackball if enabled) +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN B1 +#define SPI_SCK_PAL_MODE 5 +#define SPI_MOSI_PIN B2 +#define SPI_MOSI_PAL_MODE 5 +#define SPI_MISO_PIN B3 +#define SPI_MISO_PAL_MODE 5 + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define ENCODERS_PAD_A {C6, E6} +#define ENCODERS_PAD_B {D7, B4} + + +#ifdef FP_EVQ +#define ENCODERS_A_REVERSE +#define ENCODERS_B_REVERSE +#endif + +#ifdef FP_EC11 +#define ENCODERS_C_REVERSE +#endif + +#define ENCODER_RESOLUTION 2 + +#ifdef CIRQUE_ENABLE + // cirque trackpad config + #define CIRQUE_PINNACLE_ADDR 0x2A + #define POINTING_DEVICE_ROTATION_90 + #define CIRQUE_PINNACLE_TAP_ENABLE + #define POINTING_DEVICE_TASK_THROTTLE_MS 5 + #define I2C1_CLOCK_SPEED 400000 + #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 +#endif + +#ifdef FP_TRACKBALL_ENABLE + // Trackball config + #define FP_POINTING_DEFAULT_DPI 800 + #define PMW33XX_CS_PIN B5 + #define PMW33XX_CPI FP_POINTING_DEFAULT_DPI + #define PMW33XX_CS_DIVISOR 8 // needs to be the same as the SHIFTREG_DIVISOR above + #define POINTING_DEVICE_INVERT_Y +#endif + diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/fp_build.json b/keyboards/fingerpunch/ffkb_byomcu/v3/fp_build.json new file mode 100644 index 000000000000..375285fc114b --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/fp_build.json @@ -0,0 +1,26 @@ +[ + { + "type" : "convert-to", + "name" : "stemcell" + }, + { + "type" : "single", + "name" : "CIRQUE_ENABLE", + "user_input": "Do you have a cirque?" + }, + { + "type" : "single", + "name" : "FP_TRACKBALL_ENABLE", + "user_input": "Do you have a trackball?" + }, + { + "type" : "one-of", + "names" : [ "RGBLIGHT_ENABLE", "RGB_MATRIX_ENABLE" ], + "user_input": "No RGB, RGB light, RGB matrix?" + }, + { + "type" : "one-of", + "names" : [ "FP_EC11", "FP_EVQ" ], + "user_input": "No rotary encoders, EC11, or EVQ?" + } +] diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/halconf.h b/keyboards/fingerpunch/ffkb_byomcu/v3/halconf.h new file mode 100644 index 000000000000..482d3eba6498 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/halconf.h @@ -0,0 +1,25 @@ +/* + * Copyright 2022 Charly Delay (@0xcharly) + * + * 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 . + */ + +#pragma once + +#define HAL_USE_SERIAL TRUE +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next "halconf.h" diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/default/config.h b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/default/config.h new file mode 100644 index 000000000000..665a398996a2 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/default/config.h @@ -0,0 +1,7 @@ +#define POINTING_DEVICE_AUTO_MOUSE_ENABLE +#define AUTO_MOUSE_DEFAULT_LAYER 5 + +// Define only one of the two below, but not both. +// Read here for details: https://github.com/sadekbaroudi/qmk_firmware/tree/master/keyboards/fingerpunch#layer-lighting + +//#define FP_LAYER_LIGHTING_AUTO_MOUSE_ENABLE diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/default/keymap.c b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/default/keymap.c new file mode 100644 index 000000000000..0c72231afaec --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/default/keymap.c @@ -0,0 +1,184 @@ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _QWERTY, + _COLEMAK, + _LOWER, + _RAISE, + _ADJUST, + _MOUSE +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | Q | W | E | R | T | | Y | U | I | O | P |BckSpc| + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | A | S | D | F | G | | H | J | K | L | ; | ' | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | SFT | Z | X | C | V | B | | N | M | , | . | / | SFT | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +// Default config uses home row mods. So hold each of the keys on the home row to use ctrl, gui, alt, or shift +[_QWERTY] = LAYOUT_ffkb( + 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_TAB, LCTL_T(KC_A), LGUI_T(KC_S), LALT_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, RSFT_T(KC_J), RALT_T(KC_K), RGUI_T(KC_L), RCTL_T(KC_SCLN), KC_QUOT, + 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_MUTE, KC_BSLS, KC_ENT, LOWER, RAISE, KC_SPC, KC_DEL, LCTL(KC_BSPC) +), + +/* Colemak-dh + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | Q | W | E | R | T | | Y | U | I | O | P |BckSpc| + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | A | S | D | F | G | | H | J | K | L | ; | ' | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | SFT | Z | X | C | V | B | | N | M | , | . | / | SFT | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +// Default config uses home row mods. So hold each of the keys on the home row to use ctrl, gui, alt, or shift +[_COLEMAK] = LAYOUT_ffkb( + KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + KC_TAB, LCTL_T(KC_A), LGUI_T(KC_R), LALT_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, RSFT_T(KC_N), RALT_T(KC_E), RGUI_T(KC_I), RCTL_T(KC_O), KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_MUTE, KC_BSLS, KC_ENT, LOWER, RAISE, KC_SPC, KC_DEL, LCTL(KC_BSPC) +), + + +/* Raise + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Home | Left | Down | Up | Right| End | | | - | = | [ | ] | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | PgDn | PgUp | | | | | | | | | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +[_RAISE] = LAYOUT_ffkb( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TAB, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* Lower + * + * ,-----------------------------------------. ,-----------------------------------------. + * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | _ | + | { | } | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | Caps| | | | | | | | | | | " | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_LOWER] = LAYOUT_ffkb( + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, + _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_DQT, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* Adjust (Lower + Raise) + + * ,-----------------------------------------. ,-----------------------------------------. + * | | RGB_T| RGB_R| RGB_F| |QWERTY| | F1 | F2 | F3 | F4 | F5 | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | SPD_I| HUE_I| SAT_I| VAL_I|COLEMK| | F6 | F7 | F8 | F9 | F10 | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | SPD_D| HUE_D| SAT_D| VAL_D| | | F11 | F12 | | | Reset| | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_ADJUST] = LAYOUT_ffkb( + _______, RGB_TOG, RGB_RMOD, RGB_MOD, _______, TO(_QWERTY), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, + _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, TO(_COLEMAK), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_F11, KC_F12, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* Mouse layer + + * ,-----------------------------------------. ,-----------------------------------------. + * | | |KC_WHU| |KC_WHD| | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | |KC_WHL|MSBTN3|MSBTN2|MSBTN1|KC_WHR| | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | | | | | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_MOUSE] = LAYOUT_ffkb( + _______, _______, KC_WH_U, _______, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, + _______, KC_WH_L, KC_BTN3, KC_BTN2, KC_BTN1, KC_WH_R, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +#ifdef ENCODER_ENABLE + +bool encoder_update_user(uint8_t index, bool clockwise) { + // default behavior if undefined + if (index == 0) { + // Conditional to reverse the direction of encoder number 1 + // The reason I have this is that for some of my boards, it supports two different types of encoders, and they may differ in direction + #ifdef ENCODERS_A_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + else if (index == 1) { + // Conditional to reverse the direction of encoder number 1 + // The reason I have this is that for some of my boards, it supports two different types of encoders, and they may differ in direction + #ifdef ENCODERS_B_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + press_super_tab(true); + } + else{ + press_super_tab(false); + } + } + + return true; +} +#endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/manna-harbour_miryoku/config.h b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 000000000000..ea24a2468551 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,21 @@ +// Copyright 2022 Manna Harbour +// https://github.com/manna-harbour/miryoku + +// 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 . + +#pragma once + +#define XXX KC_NO + +#define LAYOUT_miryoku( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_ffkb( \ +XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ +XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ +XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \ + XXX, K32, K33, K34, K35, K36, K37, XXX \ +) diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/manna-harbour_miryoku/keymap.c new file mode 100644 index 000000000000..fadfdc83651a --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/manna-harbour_miryoku/keymap.c @@ -0,0 +1,4 @@ +// Copyright 2022 Manna Harbour +// https://github.com/manna-harbour/miryoku + +// 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 . diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/sadekbaroudi/keymap.c new file mode 100644 index 000000000000..dea0a22b51a4 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/sadekbaroudi/keymap.c @@ -0,0 +1,96 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ + +#include "sadekbaroudi.h" +#include QMK_KEYBOARD_H + +/* + * The `LAYOUT_ffkb_base` macro is a template to allow the use of identical + * modifiers for the default layouts (eg ALPHA_ALT, Colemak, Dvorak, etc), so + * that there is no need to set them up for each layout, and modify all of + * them if I want to change them. This helps to keep consistency and ease + * of use. K## is a placeholder to pass through the individual keycodes + */ + +// clang-format off +#define LAYOUT_ffkb_base( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \ + K33, K34, K35, K36, K37, K38 \ + ) \ + LAYOUT_wrapper( \ + FP_SCROLL_TOG, K01, K02, K03, LT(_FUNCTION, K04), K05, K06, LT(_FUNCTION, K07), K08, K09, K0A, KC_BSLS, \ + KC_MS_BTN1, LCTL_T(K11), LGUI_T(K12), LALT_T(K13), LSFT_T(K14), K15, LT(_MOUSE, K16), RSFT_T(K17), RALT_T(K18), RGUI_T(K19), RCTL_T(K1A), LCTL(KC_V), \ + FP_SNIPE_TOG, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, FP_SUPER_TAB, \ + KC_MUTE, K33, LT(_NAVIGATION,K34), LT(_FUNCTION,K35), LT(_MEDIA,K36), LT(_SYMBOLS,K37), K38, LCTL(KC_BSPC) \ + ) + +/* Re-pass though to allow templates to be used */ +#define LAYOUT_ffkb_byomcu_base_wrapper(...) LAYOUT_ffkb_base(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_ALPHA_ALT] = LAYOUT_ffkb_byomcu_base_wrapper( + _________________ALPHA_ALT_L1_________________, _________________ALPHA_ALT_R1_________________, + _________________ALPHA_ALT_L2_________________, _________________ALPHA_ALT_R2_________________, + _________________ALPHA_ALT_L3_________________, _________________ALPHA_ALT_R3_________________, + __ALPHA_ALT_THUMBS_6__ + ), + + [_ALPHA] = LAYOUT_ffkb_byomcu_base_wrapper( + __________________ALPHA_L1____________________, __________________ALPHA_R1____________________, + __________________ALPHA_L2____________________, __________________ALPHA_R2____________________, + __________________ALPHA_L3____________________, __________________ALPHA_R3____________________, + __ALPHA_THUMBS_6__ + ), + + [_NAVIGATION] = LAYOUT_wrapper( + _______, ________________NAVIGATION_1_______________, _________________NUMPAD_1__________________, _______, + _______, ________________NAVIGATION_2_______________, _________________NUMPAD_2__________________, _______, + _______, ________________NAVIGATION_3_______________, _________________NUMPAD_3__________________, _______, + _______, _______, _______, KC_TAB, KC_BSPC, KC_SPACE, KC_DOT, _______ + ), + + [_SYMBOLS] = LAYOUT_wrapper( + _______, ________________SYMBOLS_L1_________________, ________________SYMBOLS_R1_________________, _______, + _______, ________________SYMBOLS_L2_________________, ________________SYMBOLS_R2_________________, _______, + _______, ________________SYMBOLS_L3_________________, ________________SYMBOLS_R3_________________, _______, + _______, _______, KC_ENT, KC_DEL, KC_BSPC, _______, _______, _______ + ), + + [_FUNCTION] = LAYOUT_wrapper( + _______, ________________SHIFTNAV_1_________________, ________________FUNCTION_1_________________, _______, + _______, ________________SHIFTNAV_2_________________, ________________FUNCTION_2_________________, _______, + _______, ________________SHIFTNAV_3_________________, ________________FUNCTION_3_________________, _______, + _______, _______, _______, _______, N_DEL_LINE, KC_SPACE, _______, _______ + ), + + [_MEDIA] = LAYOUT_wrapper( + _______, ___________________RGB_1___________________, _________________MACROS_1__________________, _______, + _______, ___________________RGB_2___________________, _________________MACROS_2__________________, _______, + _______, ___________________RGB_3___________________, _________________MACROS_3__________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_MOUSE] = LAYOUT_wrapper( + _______, _______________AUTO_MOUSE_1________________, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_2________________, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_3________________, ___________________BLANK___________________, _______, + _______, _______, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN3, KC_MS_BTN2, _______, _______ + ) +}; + diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/via/keymap.c b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/via/keymap.c new file mode 100644 index 000000000000..8c89b303e66d --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/via/keymap.c @@ -0,0 +1,189 @@ +#include QMK_KEYBOARD_H + +#ifdef ENCODER_ENABLE +bool is_alt_tab_active = false; +uint16_t alt_tab_timer = 0; +#endif + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _QWERTY, + _COLEMAK, + _LOWER, + _RAISE, + _ADJUST +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | Q | W | E | R | T | | Y | U | I | O | P |BckSpc| + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | A | S | D | F | G | | H | J | K | L | ; | ' | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | SFT | Z | X | C | V | B | | N | M | , | . | / | SFT | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +// Default config uses home row mods. So hold each of the keys on the home row to use ctrl, gui, alt, or shift +[_QWERTY] = LAYOUT_ffkb( + 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_TAB, LCTL_T(KC_A), LGUI_T(KC_S), LALT_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, RSFT_T(KC_J), RALT_T(KC_K), RGUI_T(KC_L), RCTL_T(KC_SCLN), KC_QUOT, + 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_MUTE, KC_BSLS, KC_ENT, LOWER, RAISE, KC_SPC, KC_DEL, LCTL(KC_BSPC) +), + +/* Colemak-dh + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | Q | W | E | R | T | | Y | U | I | O | P |BckSpc| + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | A | S | D | F | G | | H | J | K | L | ; | ' | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | SFT | Z | X | C | V | B | | N | M | , | . | / | SFT | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +// Default config uses home row mods. So hold each of the keys on the home row to use ctrl, gui, alt, or shift +[_COLEMAK] = LAYOUT_ffkb( + KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + KC_TAB, LCTL_T(KC_A), LGUI_T(KC_R), LALT_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, RSFT_T(KC_N), RALT_T(KC_E), RGUI_T(KC_I), RCTL_T(KC_O), KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_MUTE, KC_BSLS, KC_ENT, LOWER, RAISE, KC_SPC, KC_DEL, LCTL(KC_BSPC) +), + + +/* Raise + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Home | Left | Down | Up | Right| End | | | - | = | [ | ] | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | PgDn | PgUp | | | | | | | | | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +[_RAISE] = LAYOUT_ffkb( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TAB, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + + + +/* Raise + * + * ,-----------------------------------------. ,-----------------------------------------. + * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | _ | + | { | } | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | Caps| | | | | | | | | | | " | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +[_RAISE] = LAYOUT_ffkb( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TAB, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), +/* Lower + * + * ,-----------------------------------------. ,-----------------------------------------. + * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | _ | + | { | } | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | Caps| | | | | | | | | | | " | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_LOWER] = LAYOUT_ffkb( + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, + _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_DQT, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* Adjust (Lower + Raise) + + * ,-----------------------------------------. ,-----------------------------------------. + * | | RGB_T| RGB_R| RGB_F| |QWERTY| | F1 | F2 | F3 | F4 | F5 | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | SPD_I| HUE_I| SAT_I| VAL_I|COLEMK| | F6 | F7 | F8 | F9 | F10 | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | SPD_D| HUE_D| SAT_D| VAL_D| | | F11 | F12 | | | Reset| | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_ADJUST] = LAYOUT_ffkb( + _______, RGB_TOG, RGB_RMOD, RGB_MOD, _______, TO(_QWERTY), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, + _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, TO(_COLEMAK), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_F11, KC_F12, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + // default behavior if undefined + if (index == 0) { + // Conditional to reverse the direction of encoder number 1 + // The reason I have this is that for some of my boards, it supports two different types of encoders, and they may differ in direction + #ifdef ENCODERS_A_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + else if (index == 1) { + // Conditional to reverse the direction of encoder number 1 + // The reason I have this is that for some of my boards, it supports two different types of encoders, and they may differ in direction + #ifdef ENCODERS_B_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + tap_code16(C(KC_RGHT)); + } + else{ + tap_code16(C(KC_LEFT)); + } + } + + return true; +} +#endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/via/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/kle-via.json b/keyboards/fingerpunch/ffkb_byomcu/v3/kle-via.json new file mode 100755 index 000000000000..06afa3b70723 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/kle-via.json @@ -0,0 +1,310 @@ +[ + [ + { + "y": 4, + "x": 7 + }, + "3,9\nenc2" + ], + [ + { + "r": 15, + "rx": 1, + "y": -0.09999999999999998, + "x": 3 + }, + "0,3" + ], + [ + { + "y": -0.65, + "x": 2 + }, + "0,2", + { + "x": 1 + }, + "0,4" + ], + [ + { + "y": -0.85, + "x": 5 + }, + "0,5" + ], + [ + { + "y": -0.4999999999999999, + "x": 3, + "c": "#5dd971" + }, + "1,3\nAlt" + ], + [ + { + "y": -0.8999999999999999, + "x": 1, + "c": "#cccccc" + }, + "0,1" + ], + [ + { + "y": -0.75, + "x": 2, + "c": "#5dd971" + }, + "1,2\nWin", + { + "x": 1 + }, + "1,4\nShift" + ], + [ + { + "y": -0.8775, + "c": "#cccccc" + }, + "0,0" + ], + [ + { + "y": -0.9725000000000001, + "x": 5 + }, + "1,5" + ], + [ + { + "y": -0.5, + "x": 3 + }, + "2,3" + ], + [ + { + "y": -0.8999999999999999, + "x": 1, + "c": "#5dd971" + }, + "1,1\nCtrl" + ], + [ + { + "y": -0.75, + "x": 2, + "c": "#cccccc" + }, + "2,2", + { + "x": 1 + }, + "2,4" + ], + [ + { + "y": -0.8775 + }, + "1,0" + ], + [ + { + "y": -0.9725000000000001, + "x": 5 + }, + "2,5" + ], + [ + { + "y": -0.3999999999999999, + "x": 1 + }, + "2,1" + ], + [ + { + "y": -0.6275 + }, + "2,0" + ], + [ + { + "y": -0.6225000000000005, + "x": 2.5 + }, + "3,1\nenc1", + { + "x": 0.5 + }, + "3,3" + ], + [ + { + "r": 25, + "y": -1.9500000000000002, + "x": 5.8 + }, + "3,4" + ], + [ + { + "r": 35, + "y": -2.1999999999999997, + "x": 7.4 + }, + "3,5" + ], + [ + { + "r": -35, + "rx": 10.65, + "ry": 4.5, + "y": -0.25, + "x": -3.1000000000000005 + }, + "3,6" + ], + [ + { + "r": -25, + "y": -0.6500000000000004, + "x": -1.9000000000000004 + }, + "3,7" + ], + [ + { + "r": -15, + "y": -0.8499999999999996, + "x": -0.6500000000000004 + }, + "3,8", + { + "x": 0.5 + }, + "3,10\nenc3" + ], + [ + { + "rx": 11, + "ry": 4.3, + "y": -3.535 + }, + "0,8" + ], + [ + { + "y": -0.6499999999999999, + "x": -1 + }, + "0,7", + { + "x": 1 + }, + "0,9" + ], + [ + { + "y": -0.8499999999999999, + "x": -2 + }, + "0,6" + ], + [ + { + "y": -0.5, + "c": "#5dd971" + }, + "1,8\nAlt" + ], + [ + { + "y": -0.8999999999999997, + "x": 2, + "c": "#cccccc" + }, + "0,10" + ], + [ + { + "y": -0.7500000000000004, + "x": -1, + "c": "#5dd971" + }, + "1,7\nShift", + { + "x": 1 + }, + "1,9\nWin" + ], + [ + { + "y": -0.8775, + "x": 3, + "c": "#cccccc" + }, + "0,11" + ], + [ + { + "y": -0.9724999999999997, + "x": -2 + }, + "1,6" + ], + [ + { + "y": -0.5000000000000004 + }, + "2,8" + ], + [ + { + "y": -0.8999999999999995, + "x": 2, + "c": "#5dd971" + }, + "1,10\nCtrl" + ], + [ + { + "y": -0.7500000000000004, + "x": -1, + "c": "#cccccc" + }, + "2,7", + { + "x": 1 + }, + "2,9" + ], + [ + { + "y": -0.8912500000000003, + "x": 3 + }, + "1,11" + ], + [ + { + "y": -0.9737499999999999, + "x": -2 + }, + "2,6" + ], + [ + { + "y": -0.3849999999999998, + "x": 2 + }, + "2,10" + ], + [ + { + "y": -0.6412500000000003, + "x": 3 + }, + "2,11" + ] +] \ No newline at end of file diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/mcuconf.h b/keyboards/fingerpunch/ffkb_byomcu/v3/mcuconf.h new file mode 100644 index 000000000000..57de50198b41 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/mcuconf.h @@ -0,0 +1,25 @@ +#pragma once + +#include_next "mcuconf.h" + +#undef STM32_SPI_USE_SPI0 +#define STM32_SPI_USE_SPI0 TRUE + +// Added because of this error at compile time +/* +Compiling: keyboards/fingerpunch/ffkb_byomcu/v3/matrix_74hc595_spi.c In file included from ./lib/chibios/os/hal/include/hal_spi_v2.h:146:0, + from ./lib/chibios/os/hal/include/hal_spi.h:31, + from ./lib/chibios/os/hal/include/hal.h:315, + from platforms/chibios/platform_deps.h:18, + from quantum/quantum.h:18, + from keyboards/fingerpunch/ffkb_byomcu/v3/matrix_74hc595_spi.c:3: +./lib/chibios/os/hal/ports/STM32/LLD/SPIv1/hal_spi_v2_lld.h:282:2: error: #error "SPI driver activated but no SPI peripheral assigned" + #error "SPI driver activated but no SPI peripheral assigned" + ^~~~~ + [ERRORS] +*/ +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE + +#undef STM32_ST_USE_TIMER +#define STM32_ST_USE_TIMER 5 \ No newline at end of file diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/readme.md b/keyboards/fingerpunch/ffkb_byomcu/v3/readme.md new file mode 100644 index 000000000000..e41f06b41601 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/readme.md @@ -0,0 +1,26 @@ +# ffkb + +An ergonomic 30% keyboard + +* Keyboard Maintainer: [sadekbaroudi](https://github.com/sadekbaroudi) + +Faux fox keyboard (ffkb) + +Make example for this keyboard (after setting up your build environment): +``` + make fingerpunch/ffkb_byomcu:default RGBLIGHT_ENABLE=yes FP_EC11=yes CIRQUE_ENABLE=yes +``` + +Don't forget to add ```CONVERT_TO=stemcell``` if using a stemcell controller. + +Options are: +``` + CIRQUE_ENABLE=yes + FP_TRACKBALL_ENABLE=yes + RGBLIGHT_ENABLE=yes + RGB_MATRIX_ENABLE=yes + FP_EC11=yes + FP_EVQ=yes +``` + +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). diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/rules.mk b/keyboards/fingerpunch/ffkb_byomcu/v3/rules.mk new file mode 100644 index 000000000000..770a3cdd41ec --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/rules.mk @@ -0,0 +1,69 @@ +# 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 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +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 + +# Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no +RGB_MATRIX_DRIVER = WS2812 + +MIDI_ENABLE = no # MIDI support +UNICODE_ENABLE = no # Unicode +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 +ENCODER_ENABLE = no +OLED_ENABLE = no # this can be yes or no depending on if you have an OLED +EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed + # for instance, if you build "no_features", it's very unlikely you'll need to disable macros + +SRC += keyboards/fingerpunch/fp_matrix_74hc595_spi.c +QUANTUM_LIB_SRC += spi_master.c +CUSTOM_MATRIX = lite + +ifeq ($(strip $(CIRQUE_ENABLE)), yes) + MOUSEKEY_ENABLE := yes # not required, but enabling for mouse button keys + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := cirque_pinnacle_i2c + OPT_DEFS += -DCIRQUE_ENABLE +endif + +ifeq ($(strip $(FP_TRACKBALL_ENABLE)), yes) + MOUSEKEY_ENABLE := yes # not required, but enabling for mouse button keys + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := pmw3360 + QUANTUM_LIB_SRC += spi_master.c + OPT_DEFS += -DFP_TRACKBALL_ENABLE +endif + +ifeq ($(strip $(FP_EC11)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EC11_UNDER_PALMS +endif + +ifeq ($(strip $(FP_EVQ)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EVQ_UNDER_PALMS +endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/v3.c b/keyboards/fingerpunch/ffkb_byomcu/v3/v3.c new file mode 100644 index 000000000000..45f05ec7ba6c --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/v3.c @@ -0,0 +1,38 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ +#include "v3.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 2, 8, 14, 9, 15, 26, 27, 3 }, + { 1, 7, 13, 10, 16, 25, 28, 4 }, + { 0, 6, 12, 11, 17, 24, 29, 5 }, + { NO_LED, 31, 33, 35, 37, 36, 39, NO_LED }, + { NO_LED, 30, 34, 32, 38, 41, 40, NO_LED }, + { NO_LED, 23, 19, 18, 20, 21, 22, NO_LED } +}, { + {0,32},{3,19},{7,5},{25,4},{21,18},{17,31},{35,26},{39,12},{43,0},{60,0},{56,12},{52,26}, + {66,33},{70,20},{74,6},{89,12},{85,25},{81,38},{61,50},{77,55},{93,63},{129,63},{145,55},{161,50}, + {141,38},{137,25},{133,12},{148,6},{152,20},{156,33},{170,26},{166,12},{162,0},{179,0},{183,12},{187,26}, + {205,31},{201,18},{197,4},{215,5},{219,19},{223,32} +}, { + 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 1, 1, 1 +} }; + +#endif diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/v3.h b/keyboards/fingerpunch/ffkb_byomcu/v3/v3.h new file mode 100644 index 000000000000..16950faf5373 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/v3.h @@ -0,0 +1,43 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ +#pragma once + +#include "quantum.h" + +/* This 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. + */ + +// With the shift register, define the columns in the order of A-H as defined in the schematic +#define LAYOUT_ffkb( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K32, K34, K35, K36, K37, K38, K39, K3B \ +) \ +{ \ + { K01, K03, K05, K04, K06, K07, K08, K02 }, \ + { K11, K13, K15, K14, K16, K17, K18, K12 }, \ + { K21, K23, K25, K24, K26, K27, K28, K22 }, \ + { KC_NO, K19, K0A, K2A, K1B, K2B, K0C, KC_NO }, \ + { KC_NO, K29, K1A, K09, K0B, K2C, K1C, KC_NO }, \ + { K3B, K39, K35, K34, K36, K37, K38, K32 } \ +} diff --git a/keyboards/fingerpunch/ffkb_byomcu/v3/via.json b/keyboards/fingerpunch/ffkb_byomcu/v3/via.json new file mode 100644 index 000000000000..77b5f683ae76 --- /dev/null +++ b/keyboards/fingerpunch/ffkb_byomcu/v3/via.json @@ -0,0 +1,322 @@ +{ + "name": "ffkb", + "vendorId": "0xFEFE", + "productId": "0xFFBB", + "matrix": {"rows": 4, "cols": 12}, + "lighting": "qmk_rgblight", + "layouts": { + "labels": [ + ["Layout"] + ], + "keymap": [ + [ + { + "y": 4, + "x": 7 + }, + "3,9\nenc2" + ], + [ + { + "r": 15, + "rx": 1, + "y": -0.09999999999999998, + "x": 3 + }, + "0,3" + ], + [ + { + "y": -0.65, + "x": 2 + }, + "0,2", + { + "x": 1 + }, + "0,4" + ], + [ + { + "y": -0.85, + "x": 5 + }, + "0,5" + ], + [ + { + "y": -0.4999999999999999, + "x": 3, + "c": "#5dd971" + }, + "1,3\nAlt" + ], + [ + { + "y": -0.8999999999999999, + "x": 1, + "c": "#cccccc" + }, + "0,1" + ], + [ + { + "y": -0.75, + "x": 2, + "c": "#5dd971" + }, + "1,2\nWin", + { + "x": 1 + }, + "1,4\nShift" + ], + [ + { + "y": -0.8775, + "c": "#cccccc" + }, + "0,0" + ], + [ + { + "y": -0.9725000000000001, + "x": 5 + }, + "1,5" + ], + [ + { + "y": -0.5, + "x": 3 + }, + "2,3" + ], + [ + { + "y": -0.8999999999999999, + "x": 1, + "c": "#5dd971" + }, + "1,1\nCtrl" + ], + [ + { + "y": -0.75, + "x": 2, + "c": "#cccccc" + }, + "2,2", + { + "x": 1 + }, + "2,4" + ], + [ + { + "y": -0.8775 + }, + "1,0" + ], + [ + { + "y": -0.9725000000000001, + "x": 5 + }, + "2,5" + ], + [ + { + "y": -0.3999999999999999, + "x": 1 + }, + "2,1" + ], + [ + { + "y": -0.6275 + }, + "2,0" + ], + [ + { + "y": -0.6225000000000005, + "x": 2.5 + }, + "3,1\nenc1", + { + "x": 0.5 + }, + "3,3" + ], + [ + { + "r": 25, + "y": -1.9500000000000002, + "x": 5.8 + }, + "3,4" + ], + [ + { + "r": 35, + "y": -2.1999999999999997, + "x": 7.4 + }, + "3,5" + ], + [ + { + "r": -35, + "rx": 10.65, + "ry": 4.5, + "y": -0.25, + "x": -3.1000000000000005 + }, + "3,6" + ], + [ + { + "r": -25, + "y": -0.6500000000000004, + "x": -1.9000000000000004 + }, + "3,7" + ], + [ + { + "r": -15, + "y": -0.8499999999999996, + "x": -0.6500000000000004 + }, + "3,8", + { + "x": 0.5 + }, + "3,10\nenc3" + ], + [ + { + "rx": 11, + "ry": 4.3, + "y": -3.535 + }, + "0,8" + ], + [ + { + "y": -0.6499999999999999, + "x": -1 + }, + "0,7", + { + "x": 1 + }, + "0,9" + ], + [ + { + "y": -0.8499999999999999, + "x": -2 + }, + "0,6" + ], + [ + { + "y": -0.5, + "c": "#5dd971" + }, + "1,8\nAlt" + ], + [ + { + "y": -0.8999999999999997, + "x": 2, + "c": "#cccccc" + }, + "0,10" + ], + [ + { + "y": -0.7500000000000004, + "x": -1, + "c": "#5dd971" + }, + "1,7\nShift", + { + "x": 1 + }, + "1,9\nWin" + ], + [ + { + "y": -0.8775, + "x": 3, + "c": "#cccccc" + }, + "0,11" + ], + [ + { + "y": -0.9724999999999997, + "x": -2 + }, + "1,6" + ], + [ + { + "y": -0.5000000000000004 + }, + "2,8" + ], + [ + { + "y": -0.8999999999999995, + "x": 2, + "c": "#5dd971" + }, + "1,10\nCtrl" + ], + [ + { + "y": -0.7500000000000004, + "x": -1, + "c": "#cccccc" + }, + "2,7", + { + "x": 1 + }, + "2,9" + ], + [ + { + "y": -0.8912500000000003, + "x": 3 + }, + "1,11" + ], + [ + { + "y": -0.9737499999999999, + "x": -2 + }, + "2,6" + ], + [ + { + "y": -0.3849999999999998, + "x": 2 + }, + "2,10" + ], + [ + { + "y": -0.6412500000000003, + "x": 3 + }, + "2,11" + ] + ] + } +} \ No newline at end of file diff --git a/keyboards/fingerpunch/fflx/config.h b/keyboards/fingerpunch/fflx/config.h new file mode 100644 index 000000000000..90db14f804c6 --- /dev/null +++ b/keyboards/fingerpunch/fflx/config.h @@ -0,0 +1,97 @@ +/* +Copyright 2021 Sadek Baroudi + +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 . +*/ + +#pragma once +#include "config_common.h" + + +/* USB Device descriptor parameter */ +// #define DEVICE_VER 0x0001 // now defined in vx/config.h +#define VENDOR_ID 0xFEFE +#define PRODUCT_ID 0xFF78 +#define MANUFACTURER sadekbaroudi +#define PRODUCT sadekbaroudi fflx + +/* USB Device descriptor parameter */ +#define DEVICE_VER 0x0001 + +/* key matrix size */ +/* Rows are doubled up */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 8 + +// wiring +#define MATRIX_ROW_PINS \ + { D2, F4, F5, F6, F7, B1 } +#define MATRIX_COL_PINS \ + { B5, B4, E6, D7, C6, D4, B2, B3 } + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define RGB_DI_PIN D3 // 41 +#ifdef RGBLIGHT_ENABLE + // Use twinkle as the default rgb mode for the layers + #define DEFAULT_RGB_LAYER_MODE RGBLIGHT_MODE_TWINKLE+2 + #define RGBLED_NUM 19 + #define RGBLIGHT_HUE_STEP 16 + #define RGBLIGHT_SAT_STEP 16 + #define RGBLIGHT_VAL_STEP 16 + #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level for RGBLIGHT_ENABLE */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_TWINKLE +#endif + +#define ENCODERS_PAD_A {D5, B6} +#define ENCODERS_PAD_B {B7, F1} + +#define ENCODER_RESOLUTION 2 + +#ifdef FP_EVQ_UNDER_PALMS +#define ENCODERS_A_REVERSE +#define ENCODERS_B_REVERSE +#endif + +#ifdef FP_EC11_UNDER_PALMS +#define ENCODERS_C_REVERSE +#endif + +#ifdef CIRQUE_ENABLE + // cirque trackpad config + #define CIRQUE_PINNACLE_ADDR 0x2A + #define POINTING_DEVICE_ROTATION_90 + #define CIRQUE_PINNACLE_TAP_ENABLE + #define POINTING_DEVICE_TASK_THROTTLE_MS 5 + #define I2C1_CLOCK_SPEED 400000 + #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 +#endif + +/* 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 diff --git a/keyboards/fingerpunch/fflx/fflx.c b/keyboards/fingerpunch/fflx/fflx.c new file mode 100644 index 000000000000..66893e868227 --- /dev/null +++ b/keyboards/fingerpunch/fflx/fflx.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ + +#include "fflx.h" diff --git a/keyboards/fingerpunch/fflx/fflx.h b/keyboards/fingerpunch/fflx/fflx.h new file mode 100644 index 000000000000..b4bde8a7ba7a --- /dev/null +++ b/keyboards/fingerpunch/fflx/fflx.h @@ -0,0 +1,35 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT_fflx( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K32, K34, K35, K36, K37, K38, K39, K3B \ +) \ +{ \ + { K01, K02, K03, K04, K05, K06, K07, K08 }, \ + { K11, K12, K13, K14, K15, K16, K17, K18 }, \ + { K21, K22, K23, K24, K25, K26, K27, K28 }, \ + { KC_NO, KC_NO, K19, K2A, K0A, K1B, K2B, K0C }, \ + { KC_NO, KC_NO, K29, K09, K1A, K0B, K2C, K1C }, \ + { K3B, K32, K39, K34, K35, K36, K37, K38 } \ +} + +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/fflx/fp_build.json b/keyboards/fingerpunch/fflx/fp_build.json new file mode 100644 index 000000000000..41cdbe0018d5 --- /dev/null +++ b/keyboards/fingerpunch/fflx/fp_build.json @@ -0,0 +1,21 @@ +[ + { + "type" : "convert-to", + "name" : "stemcell" + }, + { + "type" : "single", + "name" : "CIRQUE_ENABLE", + "user_input": "Do you have a cirque?" + }, + { + "type" : "single", + "name" : "RGBLIGHT_ENABLE", + "user_input": "Do you want underglow enabled?" + }, + { + "type" : "one-of", + "names" : [ "FP_EC11_UNDER_PALMS", "FP_EVQ_UNDER_PALMS" ], + "user_input": "No under palm encoders, EC11, or EVQ?" + } +] diff --git a/keyboards/fingerpunch/fflx/keymaps/default/keymap.c b/keyboards/fingerpunch/fflx/keymaps/default/keymap.c new file mode 100644 index 000000000000..4009ad695101 --- /dev/null +++ b/keyboards/fingerpunch/fflx/keymaps/default/keymap.c @@ -0,0 +1,193 @@ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _QWERTY, + _COLEMAK, + _LOWER, + _RAISE, + _ADJUST, + _MOUSE +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | Q | W | E | R | T | | Y | U | I | O | P |BckSpc| + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | A | S | D | F | G | | H | J | K | L | ; | ' | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | SFT | Z | X | C | V | B | | N | M | , | . | / | SFT | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +// Default config uses home row mods. So hold each of the keys on the home row to use ctrl, gui, alt, or shift +[_QWERTY] = LAYOUT_fflx( + 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_TAB, LCTL_T(KC_A), LGUI_T(KC_S), LALT_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, RSFT_T(KC_J), RALT_T(KC_K), RGUI_T(KC_L), RCTL_T(KC_SCLN), KC_QUOT, + 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_MUTE, KC_BSLS, KC_ENT, LOWER, RAISE, KC_SPC, KC_DEL, LCTL(KC_BSPC) +), + +/* Colemak-dh + * + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | Q | W | E | R | T | | Y | U | I | O | P |BckSpc| + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | A | S | D | F | G | | H | J | K | L | ; | ' | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | SFT | Z | X | C | V | B | | N | M | , | . | / | SFT | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +// Default config uses home row mods. So hold each of the keys on the home row to use ctrl, gui, alt, or shift +[_COLEMAK] = LAYOUT_fflx( + KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + KC_TAB, LCTL_T(KC_A), LGUI_T(KC_R), LALT_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, RSFT_T(KC_N), RALT_T(KC_E), RGUI_T(KC_I), RCTL_T(KC_O), KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_MUTE, KC_BSLS, KC_ENT, LOWER, RAISE, KC_SPC, KC_DEL, LCTL(KC_BSPC) +), + +/* Raise + * + * ,-----------------------------------------. ,-----------------------------------------. + * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | _ | + | { | } | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | Caps| | | | | | | | | | | " | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ + +[_RAISE] = LAYOUT_fflx( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TAB, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), +/* Lower + * + * ,-----------------------------------------. ,-----------------------------------------. + * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | _ | + | { | } | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | Caps| | | | | | | | | | | " | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_LOWER] = LAYOUT_fflx( + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, + _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_DQT, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* Adjust (Lower + Raise) + + * ,-----------------------------------------. ,-----------------------------------------. + * | | RGB_T| RGB_R| RGB_F| |QWERTY| | F1 | F2 | F3 | F4 | F5 | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | SPD_I| HUE_I| SAT_I| VAL_I|COLEMK| | F6 | F7 | F8 | F9 | F10 | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | SPD_D| HUE_D| SAT_D| VAL_D| | | F11 | F12 | | | Reset| | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_ADJUST] = LAYOUT_fflx( + _______, RGB_TOG, RGB_RMOD, RGB_MOD, _______, TO(_QWERTY), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, + _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, TO(_COLEMAK), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_F11, KC_F12, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* Mouse layer + + * ,-----------------------------------------. ,-----------------------------------------. + * | | |KC_WHU| |KC_WHD| | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | |KC_WHL|MSBTN3|MSBTN2|MSBTN1|KC_WHR| | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | | | | | | + * `-----------------------------------------' `-----------------------------------------' + * ,------. ,--------------------. ,--------------------. ,------. + * | MUTE | | \ | Enter| LOWER| | RAISE| Space| Del | | DELW | + * `------' `--------------------' `--------------------. `------' + */ +[_MOUSE] = LAYOUT_fflx( + _______, _______, KC_WH_U, _______, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, + _______, KC_WH_L, KC_BTN3, KC_BTN2, KC_BTN1, KC_WH_R, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +#ifdef ENCODER_ENABLE + +bool encoder_update_user(uint8_t index, bool clockwise) { + // default behavior if undefined + if (index == 0) { + // Conditional to reverse the direction of encoder number 1 + // The reason I have this is that for some of my boards, it supports two different types of encoders, and they may differ in direction + #ifdef ENCODERS_A_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + else if (index == 1) { + // Conditional to reverse the direction of encoder number 1 + // The reason I have this is that for some of my boards, it supports two different types of encoders, and they may differ in direction + #ifdef ENCODERS_B_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + tap_code16(C(KC_RGHT)); + } + else{ + tap_code16(C(KC_LEFT)); + } + } + else if (index == 2) { + #ifdef ENCODERS_C_REVERSE + if (!clockwise) { + #else + if (clockwise) { + #endif + press_super_tab(true); + } else { + press_super_tab(false); + } + } + + return true; +} +#endif diff --git a/keyboards/fingerpunch/fflx/keymaps/manna-harbour_miryoku/config.h b/keyboards/fingerpunch/fflx/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 000000000000..4a248b56fdc8 --- /dev/null +++ b/keyboards/fingerpunch/fflx/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,22 @@ +// Copyright 2022 Manna Harbour +// https://github.com/manna-harbour/miryoku + +// 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 . + +#pragma once + +#define XXX KC_NO + +#define LAYOUT_miryoku( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_fflx( \ +XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ +XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ +XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \ + XXX, K32, K33, K34, K35, K36, K37, XXX, \ + XXX \ +) diff --git a/keyboards/fingerpunch/fflx/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/fingerpunch/fflx/keymaps/manna-harbour_miryoku/keymap.c new file mode 100644 index 000000000000..fadfdc83651a --- /dev/null +++ b/keyboards/fingerpunch/fflx/keymaps/manna-harbour_miryoku/keymap.c @@ -0,0 +1,4 @@ +// Copyright 2022 Manna Harbour +// https://github.com/manna-harbour/miryoku + +// 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 . diff --git a/keyboards/fingerpunch/fflx/keymaps/sadekbaroudi/config.h b/keyboards/fingerpunch/fflx/keymaps/sadekbaroudi/config.h new file mode 100644 index 000000000000..300cf466c533 --- /dev/null +++ b/keyboards/fingerpunch/fflx/keymaps/sadekbaroudi/config.h @@ -0,0 +1 @@ +#define FP_LAYER_LIGHTING_CAPS_LOCK_HUE HSV_WHITE diff --git a/keyboards/fingerpunch/fflx/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/fflx/keymaps/sadekbaroudi/keymap.c new file mode 100644 index 000000000000..03c4c69d0db0 --- /dev/null +++ b/keyboards/fingerpunch/fflx/keymaps/sadekbaroudi/keymap.c @@ -0,0 +1,97 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ + +#include "sadekbaroudi.h" +#include QMK_KEYBOARD_H + +/* + * The `LAYOUT_fflx_base` macro is a template to allow the use of identical + * modifiers for the default layouts (eg ALPHA_ALT, Colemak, Dvorak, etc), so + * that there is no need to set them up for each layout, and modify all of + * them if I want to change them. This helps to keep consistency and ease + * of use. K## is a placeholder to pass through the individual keycodes + */ + +// clang-format off +#define LAYOUT_fflx_base( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \ + K33, K34, K35, K36, K37, K38 \ + ) \ + LAYOUT_wrapper( \ + FP_SCROLL_TOG, K01, K02, K03, LT(_FUNCTION, K04), K05, K06, LT(_FUNCTION, K07), K08, K09, K0A, KC_BSLS, \ + KC_MS_BTN1, LCTL_T(K11), LGUI_T(K12), LALT_T(K13), LSFT_T(K14), K15, LT(_MOUSE, K16), RSFT_T(K17), RALT_T(K18), RGUI_T(K19), RCTL_T(K1A), LCTL(KC_V), \ + FP_SNIPE_TOG, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, FP_SUPER_TAB, \ + KC_MUTE, K33, LT(_NAVIGATION,K34), LT(_FUNCTION,K35), LT(_MEDIA,K36), LT(_SYMBOLS,K37), K38, LCTL(KC_BSPC) \ + ) + +/* Re-pass though to allow templates to be used */ +#define LAYOUT_fflx_byomcu_base_wrapper(...) LAYOUT_fflx_base(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_ALPHA_ALT] = LAYOUT_fflx_byomcu_base_wrapper( + _________________ALPHA_ALT_L1_________________, _________________ALPHA_ALT_R1_________________, + _________________ALPHA_ALT_L2_________________, _________________ALPHA_ALT_R2_________________, + _________________ALPHA_ALT_L3_________________, _________________ALPHA_ALT_R3_________________, + __ALPHA_ALT_THUMBS_6__ + ), + + [_ALPHA] = LAYOUT_fflx_byomcu_base_wrapper( + __________________ALPHA_L1____________________, __________________ALPHA_R1____________________, + __________________ALPHA_L2____________________, __________________ALPHA_R2____________________, + __________________ALPHA_L3____________________, __________________ALPHA_R3____________________, + __ALPHA_THUMBS_6__ + ), + + [_NAVIGATION] = LAYOUT_wrapper( + _______, ________________NAVIGATION_1_______________, _________________NUMPAD_1__________________, _______, + _______, ________________NAVIGATION_2_______________, _________________NUMPAD_2__________________, _______, + _______, ________________NAVIGATION_3_______________, _________________NUMPAD_3__________________, _______, + _______, _______, _______, KC_TAB, KC_BSPC, KC_SPACE, KC_DOT, _______ + ), + + [_SYMBOLS] = LAYOUT_wrapper( + _______, ________________SYMBOLS_L1_________________, ________________SYMBOLS_R1_________________, _______, + _______, ________________SYMBOLS_L2_________________, ________________SYMBOLS_R2_________________, _______, + _______, ________________SYMBOLS_L3_________________, ________________SYMBOLS_R3_________________, _______, + _______, _______, KC_ENT, KC_DEL, KC_BSPC, _______, _______, _______ + ), + + [_FUNCTION] = LAYOUT_wrapper( + _______, ________________SHIFTNAV_1_________________, ________________FUNCTION_1_________________, _______, + _______, ________________SHIFTNAV_2_________________, ________________FUNCTION_2_________________, _______, + _______, ________________SHIFTNAV_3_________________, ________________FUNCTION_3_________________, _______, + _______, _______, _______, _______, N_DEL_LINE, KC_SPACE, _______, _______ + ), + + [_MEDIA] = LAYOUT_wrapper( + _______, ___________________RGB_1___________________, _________________MACROS_1__________________, _______, + _______, ___________________RGB_2___________________, _________________MACROS_2__________________, _______, + _______, ___________________RGB_3___________________, _________________MACROS_3__________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_MOUSE] = LAYOUT_wrapper( + _______, _______________AUTO_MOUSE_1________________, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_2________________, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_3________________, ___________________BLANK___________________, _______, + _______, _______, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN3, KC_MS_BTN2, _______, _______ + ), + +}; + diff --git a/keyboards/fingerpunch/fflx/readme.md b/keyboards/fingerpunch/fflx/readme.md new file mode 100644 index 000000000000..5c3ced05aa00 --- /dev/null +++ b/keyboards/fingerpunch/fflx/readme.md @@ -0,0 +1,22 @@ +# fflx + +An ergonomic 40% keyboard + +* Keyboard Maintainer: [sadekbaroudi](https://github.com/sadekbaroudi) + +Faux Fox LX (fflx) + +Make example for this keyboard (after setting up your build environment): +``` + make fingerpunch/fflx:default RGBLIGHT_ENABLE=yes FP_EC11_UNDER_PALMS=yes CIRQUE_ENABLE=yes +``` + +Options are: +``` + CIRQUE_ENABLE=yes + RGBLIGHT_ENABLE=yes + FP_EC11_UNDER_PALMS=yes + FP_EVQ_UNDER_PALMS=yes +``` + +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). diff --git a/keyboards/fingerpunch/fflx/rules.mk b/keyboards/fingerpunch/fflx/rules.mk new file mode 100644 index 000000000000..956f444f9da5 --- /dev/null +++ b/keyboards/fingerpunch/fflx/rules.mk @@ -0,0 +1,71 @@ +# 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 + +CONVERT_TO = stemcell + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +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 + +# Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no +RGB_MATRIX_DRIVER = WS2812 + +MIDI_ENABLE = no # MIDI support +UNICODE_ENABLE = no # Unicode +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 +ENCODER_ENABLE = no +OLED_ENABLE = no # this can be yes or no depending on if you have an OLED +EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed + # for instance, if you build "no_features", it's very unlikely you'll need to disable macros +MOUSEKEY_ENABLE = no + +CIRQUE_ENABLE = no + +ifeq ($(strip $(CIRQUE_ENABLE)), yes) + MOUSEKEY_ENABLE := yes # not required, but enabling for mouse button keys + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := cirque_pinnacle_i2c + OPT_DEFS += -DCIRQUE_ENABLE +endif + +ifeq ($(strip $(FP_EC11_UNDER_PALMS)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EC11_UNDER_PALMS +endif + +ifeq ($(strip $(FP_EVQ_UNDER_PALMS)), yes) + ENCODER_ENABLE := yes + OPT_DEFS += -DFP_EVQ_UNDER_PALMS +endif + +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/fp.c b/keyboards/fingerpunch/fp.c new file mode 100644 index 000000000000..13085f79fe4b --- /dev/null +++ b/keyboards/fingerpunch/fp.c @@ -0,0 +1,155 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#include "keyboards/fingerpunch/fp.h" + +#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) +#include "keyboards/fingerpunch/fp_rgb_common.h" +#endif + +fp_config_t fp_config; + +#ifndef FP_SUPER_TAB_TIMEOUT +# define FP_SUPER_TAB_TIMEOUT 500 +#endif + +bool is_caps_lock_on = false; +bool is_alt_tab_active = false; +uint16_t alt_tab_timer = 0; + +bool fp_caps_lock_get(void) { + return is_caps_lock_on; +} + +void fp_caps_lock_toggle(void) { + is_caps_lock_on = !is_caps_lock_on; + handle_caps_lock_change(); +} + +void handle_caps_lock_change(void) { +#if defined(RGBLIGHT_ENABLE) // We only do this because we want the layer color to change + fp_layer_state_set_rgb(layer_state); +#endif // RGBLIGHT_ENABLE +} + +void press_super_tab(bool shift) { + if (shift) { + register_code(KC_LSHIFT); + } + if (!is_alt_tab_active) { + is_alt_tab_active = true; +#ifdef FP_MAC_PREFERRED + register_code(KC_LGUI); +#else + register_code(KC_LALT); +#endif + } + + alt_tab_timer = timer_read(); + tap_code(KC_TAB); +} + +void unregister_super_tab(void) { + if (is_alt_tab_active) { + if (timer_elapsed(alt_tab_timer) > FP_SUPER_TAB_TIMEOUT) { +#ifdef FP_MAC_PREFERRED + unregister_code(KC_LGUI); +#else + unregister_code(KC_LALT); +#endif + is_alt_tab_active = false; + + if (get_mods() & MOD_MASK_SHIFT) { + unregister_code(KC_LSHIFT); + } + } + } +} + +void matrix_scan_kb(void) { + // We do this in matrix scan in case there are two keyboards connected and we + // need to make sure this keyboard is aware + led_t led_state = host_keyboard_led_state(); + if (led_state.caps_lock != is_caps_lock_on) { + fp_caps_lock_toggle(); + } + + unregister_super_tab(); + + matrix_scan_user(); +} + +void keyboard_pre_init_kb(void) { + fp_config.raw = eeconfig_read_user(); + keyboard_pre_init_user(); +} + +void keyboard_post_init_kb(void) { + #if defined(PIMORONI_TRACKBALL_ENABLE) && !defined(RGBLIGHT_ENABLE) + pimoroni_trackball_set_rgbw(RGB_BLUE, 0x00); + #endif + + #if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_COMBINED) + fp_pointing_device_set_cpi_combined_defaults(); + #endif + + #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) + fp_post_init_rgb_common(); + #endif + + #if defined(RGBLIGHT_ENABLE) + fp_post_init_rgblight(); + #endif + + #if defined(RGB_MATRIX_ENABLE) + fp_post_init_rgb_matrix(); + #endif + + keyboard_post_init_user(); +} + +layer_state_t layer_state_set_kb(layer_state_t state) { +#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) + state = fp_layer_state_set_rgb(state); +#endif +#ifdef RGBLIGHT_ENABLE + state = fp_layer_state_set_rgblight(state); +#endif // RGBLIGHT_ENABLE +#ifdef RGB_MATRIX_ENABLE + state = fp_layer_state_set_rgb_matrix(state); +#endif // RGB_MATRIX_ENABLE +#ifdef HAPTIC_ENABLE + state = fp_layer_state_set_haptic(state); +#endif // HAPTIC_ENABLE +#ifdef POINTING_DEVICE_ENABLE + state = fp_layer_state_set_pointing(state); +#endif // POINTING_DEVICE_ENABLE + + return layer_state_set_user(state); +} + +void eeconfig_init_kb(void) { + fp_config.raw = 0; + #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) + fp_config.rgb_mode = FP_LAYER_LIGHTING_MODE_0; + fp_config.rgb_hue = fp_rgb_get_element_from_hsv(FP_LAYER_LIGHTING_HUE_0, 0); + #endif + fp_config.rgb_sat = 255; + fp_config.rgb_val = 255; + fp_config.rgb_speed = 1; + eeconfig_update_kb(fp_config.raw); + eeconfig_init_user(); +} diff --git a/keyboards/fingerpunch/fp.h b/keyboards/fingerpunch/fp.h new file mode 100644 index 000000000000..3c084f482dbe --- /dev/null +++ b/keyboards/fingerpunch/fp.h @@ -0,0 +1,60 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 .j + */ + +#pragma once + +#include QMK_KEYBOARD_H + +#include "eeprom.h" + +bool fp_caps_lock_get(void); +void fp_caps_lock_toggle(void); +void handle_caps_lock_change(void); +void press_super_tab(bool shift); + +#include "keyboards/fingerpunch/fp_color.h" +#include "keyboards/fingerpunch/fp_keyhandler.h" + +#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) +# include "keyboards/fingerpunch/fp_rgb_common.h" +#endif +#ifdef RGBLIGHT_ENABLE +# include "keyboards/fingerpunch/fp_rgblight.h" +#endif +#ifdef RGB_MATRIX_ENABLE +# include "keyboards/fingerpunch/fp_rgb_matrix.h" +#endif +#ifdef HAPTIC_ENABLE +# include "keyboards/fingerpunch/fp_haptic.h" +#endif +#ifdef POINTING_DEVICE_ENABLE +# include "keyboards/fingerpunch/fp_pointing.h" +#endif + +// clang-format off +typedef union { + uint32_t raw; + struct { + uint8_t rgb_mode; + uint8_t rgb_hue; + uint8_t rgb_sat; + uint8_t rgb_val; + uint8_t rgb_speed; + }; +} fp_config_t; +// clang-format on + +extern fp_config_t fp_config; diff --git a/keyboards/fingerpunch/fp_color.h b/keyboards/fingerpunch/fp_color.h new file mode 100644 index 000000000000..cfa524e2821f --- /dev/null +++ b/keyboards/fingerpunch/fp_color.h @@ -0,0 +1,21 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#define FP_HSV_LAVENDER 184, 200, 255 +#define FP_HSV_LEMON 43, 200, 255 +#define FP_HSV_LIME 63, 225, 255 +#define FP_HSV_MELON 0, 180, 255 +#define FP_HSV_MINT 84, 185, 255 diff --git a/keyboards/fingerpunch/fp_haptic.c b/keyboards/fingerpunch/fp_haptic.c new file mode 100644 index 000000000000..ce71b60645b7 --- /dev/null +++ b/keyboards/fingerpunch/fp_haptic.c @@ -0,0 +1,105 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#include "keyboards/fingerpunch/fp_haptic.h" + +#ifdef HAPTIC_ENABLE +layer_state_t fp_layer_state_set_haptic(layer_state_t state) { + switch (get_highest_layer(state)) { + default: + break; + } + return state; +} + +bool fp_process_record_haptic(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { +# ifndef FP_DISABLE_CUSTOM_KEYCODES + // NOTE TO SELF: IF I EVER ADD KEYCODES HERE, DETERMINE WHETHER THEY ARE CONSIDERED CUSTOM KEYCODES OR NOT + // In the case of the mouse buttons and ctrl-x,c,v,s features below, they are treated independently, so they aren't effected by FP_DISABLE_CUSTOM_KEYCODES +# endif // FP_DISABLE_CUSTOM_KEYCODES +# ifdef FP_HAPTIC_MOUSE_BUTTONS + case KC_BTN1: + if (record->event.pressed) { + DRV_pulse(medium_click1); + } + break; + case KC_BTN2: + if (record->event.pressed) { + DRV_pulse(sh_dblclick_str); + } + break; + case KC_BTN3: + if (record->event.pressed) { + DRV_pulse(medium_click1); + } + break; +# endif +# ifdef FP_HAPTIC_CUT_COPY_PASTE + case KC_C: // copy + if (record->event.pressed) { +# ifdef FP_MAC_PREFERRED + if (get_mods() & MOD_MASK_CTRL) { +# else + if (get_mods() & MOD_MASK_GUI) { +# endif + DRV_pulse(lg_dblclick_str); + } + } + break; + case KC_X: // cut + if (record->event.pressed) { +# ifdef FP_MAC_PREFERRED + if (get_mods() & MOD_MASK_CTRL) { +# else + if (get_mods() & MOD_MASK_GUI) { +# endif + DRV_pulse(lg_dblclick_str); + } + } + break; + case KC_V: // paste + if (record->event.pressed) { +# ifdef FP_MAC_PREFERRED + if (get_mods() & MOD_MASK_CTRL) { +# else + if (get_mods() & MOD_MASK_GUI) { +# endif + DRV_pulse(soft_bump); + } + } + break; +# endif +# ifdef FP_HAPTIC_SAVE + case KC_S: // save + if (record->event.pressed) { +# ifdef FP_MAC_PREFERRED + if (get_mods() & MOD_MASK_CTRL) { +# else + if (get_mods() & MOD_MASK_GUI) { +# endif + DRV_pulse(pulsing_strong); + } + } + break; +#endif + default: + break; + } + + return true; +} +#endif diff --git a/keyboards/fingerpunch/fp_haptic.h b/keyboards/fingerpunch/fp_haptic.h new file mode 100644 index 000000000000..618e6ec26451 --- /dev/null +++ b/keyboards/fingerpunch/fp_haptic.h @@ -0,0 +1,22 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#pragma once +#include QMK_KEYBOARD_H +#include "keyboards/fingerpunch/fp.h" + +layer_state_t fp_layer_state_set_haptic(layer_state_t state); +bool fp_process_record_haptic(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/fingerpunch/fp_keyhandler.c b/keyboards/fingerpunch/fp_keyhandler.c new file mode 100644 index 000000000000..a8be24c95a64 --- /dev/null +++ b/keyboards/fingerpunch/fp_keyhandler.c @@ -0,0 +1,69 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#include "keyboards/fingerpunch/fp_keyhandler.h" + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + // If console is enabled, it will print the matrix position and status of each key pressed +#ifdef KEYLOGGER_ENABLE + uprintf("KL: kc: 0x%04X, col: %2u, row: %2u, pressed: %1d, time: %5u, int: %1d, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count); +#endif // KEYLOGGER_ENABLE + + if (!(process_record_user(keycode, record) +#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) + && fp_process_record_rgb_common(keycode, record) +#endif +#ifdef RGBLIGHT_ENABLE + && fp_process_record_rgblight(keycode, record) +#endif +#ifdef RGB_MATRIX_ENABLE + && fp_process_record_rgb_matrix(keycode, record) +#endif +#ifdef FP_UNICODE_ENABLE + && fp_process_record_unicode(keycode, record) +#endif +#ifdef HAPTIC_ENABLE + && fp_process_record_haptic(keycode, record) +#endif +#if defined(POINTING_DEVICE_ENABLE) + && fp_process_record_pointing(keycode, record) +#endif + && true)) { + return false; + } + switch (keycode) { +#ifndef FP_DISABLE_CUSTOM_KEYCODES + case KC_CAPSLOCK: + if (record->event.pressed) { + fp_caps_lock_toggle(); + } + break; + case FP_SUPER_TAB: + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + press_super_tab(true); + } else { + press_super_tab(false); + } + } + break; +#endif + default: + break; + } + + return true; +} diff --git a/keyboards/fingerpunch/fp_keyhandler.h b/keyboards/fingerpunch/fp_keyhandler.h new file mode 100644 index 000000000000..06bfbe82e3c5 --- /dev/null +++ b/keyboards/fingerpunch/fp_keyhandler.h @@ -0,0 +1,37 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#pragma once +#include "quantum.h" +#include QMK_KEYBOARD_H +#include "keyboards/fingerpunch/fp.h" + +#ifndef FP_DISABLE_CUSTOM_KEYCODES +enum fp_keycodes { +# ifdef VIA_ENABLE + FP_SCROLL_TOG = USER00, +# else + FP_SCROLL_TOG = SAFE_RANGE, +# endif // VIA_ENABLE + FP_SCROLL_ON, + FP_SCROLL_OFF, + FP_SNIPE_TOG, + FP_SNIPE_ON, + FP_SNIPE_OFF, + FP_SUPER_TAB, + FP_SAFE_RANGE +}; +#endif // FP_DISABLE_CUSTOM_KEYCODES diff --git a/keyboards/fingerpunch/fp_matrix_74hc595_spi.c b/keyboards/fingerpunch/fp_matrix_74hc595_spi.c new file mode 100644 index 000000000000..5c6816ab4617 --- /dev/null +++ b/keyboards/fingerpunch/fp_matrix_74hc595_spi.c @@ -0,0 +1,145 @@ +// Copyright 2022 @sadekbaroudi (Sadek Baroudi) +// SPDX-License-Identifier: GPL-3.0-or-later +#include "quantum.h" +#include "spi_master.h" +#include /* memset */ +#include /* close */ +#include "quantum.h" +#include "matrix.h" +#ifdef FP_SR595_MATRIX_DEBUG +#include +#include +#define FP_SR595_MATRIX_DEBUG_RATIO 10000 +#endif + +#if (!defined(SHIFTREG_MATRIX_COL_CS)) +# error Missing shift register I/O pin definitions +#endif + +int matrixArraySize = MATRIX_ROWS * sizeof(matrix_row_t); +matrix_row_t oldMatrix[MATRIX_ROWS]; + +#define SHIFTREG_OUTPUT_BITS 8 +pin_t rowPinsSR[MATRIX_ROWS] = MATRIX_ROW_PINS_SR; + +// semaphore to make sure SPI doesn't get called multiple times +static bool shiftRegisterSPILocked = false; + +void semaphore_lock(bool value) { + shiftRegisterSPILocked = value; +} + +bool semaphore_is_locked(void) { + return shiftRegisterSPILocked; +} + +void sr_74hc595_spi_stop(void) { + spi_stop(); + semaphore_lock(false); +} + +bool sr_74hc595_spi_start(void) { + if (!spi_start(SHIFTREG_MATRIX_COL_CS, false, 0, SHIFTREG_DIVISOR)) { + xprintf("74hc595 matrix: failed to start spi\n"); + sr_74hc595_spi_stop(); + return false; + } + + semaphore_lock(true); + wait_us(1); // not sure if I need this + return true; +} + +bool sr_74hc595_spi_send_byte(uint8_t data) { + sr_74hc595_spi_start(); + writePinLow(SHIFTREG_MATRIX_COL_CS); + matrix_io_delay(); + spi_write(data); + matrix_io_delay(); + writePinHigh(SHIFTREG_MATRIX_COL_CS); + sr_74hc595_spi_stop(); + return true; +} + +/** + * Set the entire shift register to be full of inactive bits + */ +void clearColumns(void) { + uint8_t value = 0b00000000; + sr_74hc595_spi_send_byte(value); +} + +void setColumn(int columnShift, bool test_run) { + uint8_t columnShiftByte = ((uint8_t)1 << columnShift); + if(test_run) { + xprintf("byte sent: %d\n", columnShiftByte); + } + sr_74hc595_spi_send_byte(columnShiftByte); +} + +/* + * override of the qmk intialization function + */ +void matrix_init_custom(void) { + wait_ms(300); + spi_init(); + // Set up the initial states for all the row pins + for (int r = 0; r < MATRIX_ROWS; r++) { + // Note: This needs to use the internal pull down resistors, and atmegas do *not* support that + setPinInputLow(rowPinsSR[r]); + } + + // Set the CS to low by default, and specify as an output pin + writePinHigh(SHIFTREG_MATRIX_COL_CS); // should be high when using SPI? + setPinOutput(SHIFTREG_MATRIX_COL_CS); + + // Since it's the init, deactivate all the columns. We'll activate once we get to the matrix scan + clearColumns(); +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + // respect the semaphore + if (semaphore_is_locked()) { + return false; + } + + // Keep track of if something was modified + bool matrix_has_changed = false; + + // reset the current matrix, as we'll be updating and comparing to the old matrix + memset(current_matrix, 0, matrixArraySize); + +#ifdef FP_SR595_MATRIX_DEBUG + bool debug_output = ((rand() % FP_SR595_MATRIX_DEBUG_RATIO) == 1); +#else + bool debug_output = false; +#endif + // Loop through the columns, activating one at a time, and read the rows, and place in the new current_matrix + for (int c = 0; c < MATRIX_COLS; c++) { + if (debug_output) { + xprintf("column iteration: %d\n", c); + } + setColumn(c, debug_output); + matrix_io_delay(); + + for (int r = 0; r < MATRIX_ROWS; r++) { + current_matrix[r] |= ((readPin(rowPinsSR[r]) ? 1 : 0) << c); + } + } + + matrix_has_changed = memcmp(current_matrix, oldMatrix, matrixArraySize) != 0; + memcpy(oldMatrix, current_matrix, matrixArraySize); + + if (matrix_has_changed) { + matrix_print(); + } + // matrix_print(); + // xprintf("matrix_has_changed: %d\n", matrix_has_changed); + + // Deactivate all the columns for the next run. + clearColumns(); + matrix_io_delay(); + + return matrix_has_changed; +} + diff --git a/keyboards/fingerpunch/fp_pointing.c b/keyboards/fingerpunch/fp_pointing.c new file mode 100644 index 000000000000..fa3df7e63e8d --- /dev/null +++ b/keyboards/fingerpunch/fp_pointing.c @@ -0,0 +1,258 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#include "keyboards/fingerpunch/fp_pointing.h" +#include "math.h" + +#ifdef POINTING_DEVICE_ENABLE +# ifndef FP_POINTING_DEFAULT_DPI +# define FP_POINTING_DEFAULT_DPI 1000 +# endif + +# ifndef FP_POINTING_SNIPING_DPI +# define FP_POINTING_SNIPING_DPI 50 +# endif + +# ifndef FP_POINTING_SNIPING_LAYER +# define FP_POINTING_SNIPING_LAYER 2 +# endif + +# ifndef FP_POINTING_SCROLLING_DPI +# define FP_POINTING_SCROLLING_DPI 50 +# endif + +# ifndef FP_POINTING_SCROLLING_LAYER +# define FP_POINTING_SCROLLING_LAYER 3 +# endif + +# ifndef FP_POINTING_COMBINED_SCROLLING_LEFT +# define FP_POINTING_COMBINED_SCROLLING_LEFT true +# endif + +# ifndef FP_POINTING_COMBINED_SCROLLING_RIGHT +# define FP_POINTING_COMBINED_SCROLLING_RIGHT false +# endif + +# ifndef FP_AUTO_MOUSE_TRACKBALL_SENSITIVITY +# define FP_AUTO_MOUSE_TRACKBALL_SENSITIVITY 3 +# endif + + +static bool scrolling_enabled = false; +static bool scrolling_layer_enabled = false; +static bool sniping_enabled = false; +static bool sniping_layer_enabled = false; + +void fp_scroll_layer_set(bool scroll_value) { + scrolling_layer_enabled = scroll_value; + fp_scroll_apply_dpi(); +} + +void fp_scroll_keycode_set(bool scroll_value) { + scrolling_enabled = scroll_value; + fp_scroll_apply_dpi(); +} + +void fp_scroll_keycode_toggle(void) { + scrolling_enabled = !scrolling_enabled; + fp_scroll_apply_dpi(); +} + +bool fp_scroll_get(void) { + return (scrolling_enabled || scrolling_layer_enabled); +} + +void fp_scroll_apply_dpi(void) { + // We don't want to apply the dpi change if sniping mode is enabled, since that will win! + if(!fp_snipe_get()) { + if(fp_scroll_get()) { + pointing_device_set_cpi(FP_POINTING_SCROLLING_DPI); + } else { +#ifdef POINTING_DEVICE_COMBINED + fp_pointing_device_set_cpi_combined_defaults(); +#else + pointing_device_set_cpi(FP_POINTING_DEFAULT_DPI); +#endif + } + } +} + +void fp_snipe_layer_set(bool snipe_value) { + sniping_layer_enabled = snipe_value; + fp_snipe_apply_dpi(); +} + +void fp_snipe_keycode_set(bool snipe_value) { + sniping_enabled = snipe_value; + fp_snipe_apply_dpi(); +} + +void fp_snipe_keycode_toggle(void) { + sniping_enabled = !sniping_enabled; + fp_snipe_apply_dpi(); +} + +bool fp_snipe_get(void) { + return (sniping_enabled || sniping_layer_enabled); +} + +void fp_snipe_apply_dpi(void) { + if(fp_snipe_get()) { + pointing_device_set_cpi(FP_POINTING_SNIPING_DPI); + } else { + pointing_device_set_cpi(FP_POINTING_DEFAULT_DPI); + } +} + +report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { + if (fp_scroll_get()) { + mouse_report.h = mouse_report.x; + mouse_report.v = -mouse_report.y; + mouse_report.x = 0; + mouse_report.y = 0; + } + + mouse_report = pointing_device_task_user(mouse_report); + return mouse_report; +} + +layer_state_t fp_layer_state_set_pointing(layer_state_t state) { + switch (get_highest_layer(state)) { + case FP_POINTING_SCROLLING_LAYER: +#ifdef FP_POINTING_SCROLLING_LAYER_ENABLE + fp_scroll_layer_set(true); +#endif + break; + case FP_POINTING_SNIPING_LAYER: +#ifdef FP_POINTING_SNIPING_LAYER_ENABLE + fp_snipe_layer_set(true); +#endif + break; +#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE + case AUTO_MOUSE_DEFAULT_LAYER: + // Do nothing, but this needs to exist so we don't go into the "default" below and automatically + // disable the scroll/snipe adjustments because we used the pointing device + // Problem happens when POINTING_DEVICE_AUTO_MOUSE_ENABLE and FP_POINTING_SCROLLING_LAYER_ENABLE or + // FP_POINTING_SNIPING_LAYER_ENABLE are enabled at the samet time + break; +#endif + default: + if (scrolling_layer_enabled) { +#ifdef FP_POINTING_SCROLLING_LAYER_ENABLE + fp_scroll_layer_set(false); +#endif + } + if (sniping_layer_enabled) { +#ifdef FP_POINTING_SNIPING_LAYER_ENABLE + fp_snipe_layer_set(false); +#endif + } + break; + } + return state; +} + +#ifdef POINTING_DEVICE_COMBINED +report_mouse_t pointing_device_task_combined_kb(report_mouse_t left_report, report_mouse_t right_report) { + if (FP_POINTING_COMBINED_SCROLLING_LEFT) { + left_report.h = left_report.x; + left_report.v = -left_report.y; + left_report.x = 0; + left_report.y = 0; + } + + if (FP_POINTING_COMBINED_SCROLLING_RIGHT) { + right_report.h = right_report.x; + right_report.v = -right_report.y; + right_report.x = 0; + right_report.y = 0; + } + + return pointing_device_task_combined_user(left_report, right_report); +} + +void fp_pointing_device_set_cpi_combined_defaults(void) { + pointing_device_set_cpi_on_side(true, FP_POINTING_SCROLLING_DPI); //Set cpi on left side to a low value for slower scrolling. + pointing_device_set_cpi_on_side(false, FP_POINTING_DEFAULT_DPI); //Set cpi on right side to a reasonable value for mousing. +} +#endif + +void pointing_device_init_kb(void) { +# ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE + set_auto_mouse_enable(true); // always required before the auto mouse feature will work +# endif + + pointing_device_init_user(); +} + +#ifdef FP_TRACKBALL_ENABLE +// Override when using a trackball so that you can account for acciental triggers due to a sensitive sensor +bool auto_mouse_activation(report_mouse_t mouse_report) { + // If we're in sniping mode, lower the threshold, otherwise give it some room to move for accidental triggers of auto mouse layer + if (fp_snipe_get()) { + return fabs(mouse_report.x) >= 0.5 || fabs(mouse_report.y) >= 0.5 || fabs(mouse_report.h) >= 0.5 || fabs(mouse_report.v) >= 0.5 || mouse_report.buttons; + } else { + return fabs(mouse_report.x) >= FP_AUTO_MOUSE_TRACKBALL_SENSITIVITY || + fabs(mouse_report.y) >= FP_AUTO_MOUSE_TRACKBALL_SENSITIVITY || + fabs(mouse_report.h) >= FP_AUTO_MOUSE_TRACKBALL_SENSITIVITY || + fabs(mouse_report.v) >= FP_AUTO_MOUSE_TRACKBALL_SENSITIVITY || + mouse_report.buttons; + } +} +#endif + +bool fp_process_record_pointing(uint16_t keycode, keyrecord_t *record) { +# ifndef FP_DISABLE_CUSTOM_KEYCODES + switch (keycode) { + case FP_SCROLL_TOG: + if (record->event.pressed) { + fp_scroll_keycode_toggle(); + } + break; + case FP_SCROLL_ON: + if (record->event.pressed) { + fp_scroll_keycode_set(true); + } + break; + case FP_SCROLL_OFF: + if (record->event.pressed) { + fp_scroll_keycode_set(true); + } + break; + case FP_SNIPE_TOG: + if (record->event.pressed) { + fp_snipe_keycode_toggle(); + } + break; + case FP_SNIPE_ON: + if (record->event.pressed) { + fp_snipe_keycode_set(true); + } + break; + case FP_SNIPE_OFF: + if (record->event.pressed) { + fp_snipe_keycode_set(true); + } + break; + default: + break; + } +# endif // FP_DISABLE_CUSTOM_KEYCODES + + return true; +} + +#endif diff --git a/keyboards/fingerpunch/fp_pointing.h b/keyboards/fingerpunch/fp_pointing.h new file mode 100644 index 000000000000..98ca6ba0ad2d --- /dev/null +++ b/keyboards/fingerpunch/fp_pointing.h @@ -0,0 +1,65 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#pragma once +#include QMK_KEYBOARD_H +#include "keyboards/fingerpunch/fp.h" + +layer_state_t fp_layer_state_set_pointing(layer_state_t state); +bool fp_process_record_pointing(uint16_t keycode, keyrecord_t *record); +void fp_pointing_device_set_cpi_combined_defaults(void); +void fp_scroll_set(bool scroll_value); +bool fp_scroll_get(void); +void fp_scroll_toggle(void); +void fp_scroll_apply_dpi(void); +void fp_snipe_set(bool snipe_value); +bool fp_snipe_get(void); +void fp_snipe_toggle(void); +void fp_snipe_apply_dpi(void); + +#ifdef POINTING_DEVICE_ENABLE +# ifndef FP_POINTING_DEFAULT_DPI +# define FP_POINTING_DEFAULT_DPI 1000 +# endif + +# ifndef FP_POINTING_SNIPING_DPI +# define FP_POINTING_SNIPING_DPI 50 +# endif + +# ifndef FP_POINTING_SNIPING_LAYER +# define FP_POINTING_SNIPING_LAYER 2 +# endif + +# ifndef FP_POINTING_SCROLLING_DPI +# define FP_POINTING_SCROLLING_DPI 50 +# endif + +# ifndef FP_POINTING_SCROLLING_LAYER +# define FP_POINTING_SCROLLING_LAYER 3 +# endif + +# ifndef FP_POINTING_COMBINED_SCROLLING_LEFT +# define FP_POINTING_COMBINED_SCROLLING_LEFT true +# endif + +# ifndef FP_POINTING_COMBINED_SCROLLING_RIGHT +# define FP_POINTING_COMBINED_SCROLLING_RIGHT false +# endif + +# ifndef FP_AUTO_MOUSE_TRACKBALL_SENSITIVITY +# define FP_AUTO_MOUSE_TRACKBALL_SENSITIVITY 3 +# endif +#endif diff --git a/keyboards/fingerpunch/fp_rgb_common.c b/keyboards/fingerpunch/fp_rgb_common.c new file mode 100644 index 000000000000..f26a264d3bca --- /dev/null +++ b/keyboards/fingerpunch/fp_rgb_common.c @@ -0,0 +1,200 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#include "keyboards/fingerpunch/fp_rgb_common.h" + +// We must make sure that fp_rgb_matrix.h or fp_rgblight.h are included before this, since it depends on FP_LAYER_LIGHTING_MODE +#ifdef RGBLIGHT_ENABLE +#include "keyboards/fingerpunch/fp_rgblight.h" +#endif + +#ifdef RGB_MATRIX_ENABLE +#include "keyboards/fingerpunch/fp_rgb_matrix.h" +#endif + +#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) + +#if !defined(FP_STARTUP_ANIMATION_DISABLE) +static bool is_enabled; +static bool is_rgb_startup; +static HSV old_hsv; +static uint8_t old_mode; +deferred_token rgb_startup_token; + +uint32_t fp_rgb_startup_animation(uint32_t triger_time, void *cb_arg) { + if (is_rgb_startup && is_keyboard_master()) { + static uint8_t counter = 0; + counter++; + rgblight_sethsv_noeeprom((counter + old_hsv.h) % 255, 255, 255); + if (counter >= 255) { + is_rgb_startup = false; + fp_rgb_set_hsv_and_mode(old_hsv.h, old_hsv.s, old_hsv.v, old_mode); + if (!is_enabled) { + rgblight_disable_noeeprom(); + } + } + } + return is_rgb_startup ? 10 : 0; +} +#endif + +void fp_post_init_rgb_common(void) { +#if !defined(FP_STARTUP_ANIMATION_DISABLE) + is_enabled = rgblight_is_enabled(); + old_hsv = rgblight_get_hsv(); + old_mode = rgblight_get_mode(); +#if defined(RGBLIGHT_ENABLE) + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); +#endif +#if defined(RGB_MATRIX_ENABLE) + rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); +#endif + is_rgb_startup = true; + rgb_startup_token = defer_exec(300, fp_rgb_startup_animation, NULL); +#endif +} + +layer_state_t fp_layer_state_set_rgb(layer_state_t state) { + switch (get_highest_layer(state)) { +# if defined(FP_LAYER_LIGHTING_AUTO_MOUSE_ENABLE) && defined(AUTO_MOUSE_DEFAULT_LAYER) && defined(FP_LAYER_LIGHTING_DISABLE) + case AUTO_MOUSE_DEFAULT_LAYER: + fp_rgb_set_hsv_and_mode(FP_LAYER_LIGHTING_AUTO_MOUSE_HUE, FP_LAYER_LIGHTING_AUTO_MOUSE_MODE); + break; +# endif + case 0: +# ifndef FP_LAYER_LIGHTING_DISABLE + if (fp_caps_lock_get()) { + fp_rgb_set_hsv_and_mode(FP_LAYER_LIGHTING_CAPS_LOCK_HUE, FP_LAYER_LIGHTING_CAPS_LOCK_MODE); + xprintf("caps lock /n"); + } else { +# ifdef FP_LAYER_LIGHTING_DYNAMIC_BASE_LAYER_DISABLE + fp_rgb_set_hsv_and_mode(FP_LAYER_LIGHTING_HUE_0, FP_LAYER_LIGHTING_MODE_0); +# else + fp_rgb_set_hsv_and_mode(fp_config.rgb_hue, fp_config.rgb_sat, fp_config.rgb_val, fp_config.rgb_mode); +# endif + xprintf("base layer /n"); + } +# endif + break; + case 1: +# ifndef FP_LAYER_LIGHTING_DISABLE + fp_rgb_set_hsv_and_mode(FP_LAYER_LIGHTING_HUE_1, FP_LAYER_LIGHTING_MODE_1); +# endif + xprintf("layer 1: hue: {%d, %d, %d}, mode: %d\n", FP_LAYER_LIGHTING_HUE_1, FP_LAYER_LIGHTING_MODE_1); + break; + case 2: +# ifndef FP_LAYER_LIGHTING_DISABLE + fp_rgb_set_hsv_and_mode(FP_LAYER_LIGHTING_HUE_2, FP_LAYER_LIGHTING_MODE_2); +# endif + xprintf("layer 2: hue: {%d, %d, %d}, mode: %d\n", FP_LAYER_LIGHTING_HUE_2, FP_LAYER_LIGHTING_MODE_2); + break; + case 3: +# ifndef FP_LAYER_LIGHTING_DISABLE + fp_rgb_set_hsv_and_mode(FP_LAYER_LIGHTING_HUE_3, FP_LAYER_LIGHTING_MODE_3); +# endif + xprintf("layer 3: hue: {%d, %d, %d}, mode: %d\n", FP_LAYER_LIGHTING_HUE_3, FP_LAYER_LIGHTING_MODE_3); + break; + case 4: +# ifndef FP_LAYER_LIGHTING_DISABLE + fp_rgb_set_hsv_and_mode(FP_LAYER_LIGHTING_HUE_4, FP_LAYER_LIGHTING_MODE_4); +# endif + xprintf("layer 4: hue: {%d, %d, %d}, mode: %d\n", FP_LAYER_LIGHTING_HUE_4, FP_LAYER_LIGHTING_MODE_4); + break; + case 5: +# ifndef FP_LAYER_LIGHTING_DISABLE + fp_rgb_set_hsv_and_mode(FP_LAYER_LIGHTING_HUE_5, FP_LAYER_LIGHTING_MODE_5); +# endif + xprintf("layer 5: hue: {%d, %d, %d}, mode: %d\n", FP_LAYER_LIGHTING_HUE_5, FP_LAYER_LIGHTING_MODE_5); + break; + case 6: +# ifndef FP_LAYER_LIGHTING_DISABLE + fp_rgb_set_hsv_and_mode(FP_LAYER_LIGHTING_HUE_6, FP_LAYER_LIGHTING_MODE_6); +# endif + xprintf("layer 6: hue: {%d, %d, %d}, mode: %d\n", FP_LAYER_LIGHTING_HUE_6, FP_LAYER_LIGHTING_MODE_6); + break; + case 7: +# ifndef FP_LAYER_LIGHTING_DISABLE + fp_rgb_set_hsv_and_mode(FP_LAYER_LIGHTING_HUE_7, FP_LAYER_LIGHTING_MODE_7); +# endif + xprintf("layer 7: hue: {%d, %d, %d}, mode: %d\n", FP_LAYER_LIGHTING_HUE_7, FP_LAYER_LIGHTING_MODE_7); + break; + default: + // default to layer 0 behavior +# ifndef FP_LAYER_LIGHTING_DISABLE + fp_rgb_set_hsv_and_mode(FP_LAYER_LIGHTING_HUE_0, FP_LAYER_LIGHTING_MODE_0); +# endif + xprintf("layer default: hue: {%d, %d, %d}, mode: %d\n", FP_LAYER_LIGHTING_HUE_0, FP_LAYER_LIGHTING_MODE_0); + break; + } + return state; +} + +// Deferred exec function +uint32_t fp_rgb_set_config_from_current_values(uint32_t triger_time, void *cb_arg) { + fp_config.rgb_mode = rgblight_get_mode(); + fp_config.rgb_hue = rgblight_get_hue(); + fp_config.rgb_sat = rgblight_get_sat(); + fp_config.rgb_val = rgblight_get_val(); + fp_config.rgb_speed = rgblight_get_speed(); + eeconfig_update_user(fp_config.raw); + xprintf("RGB: mode: %u, hue: %u, sat: %u, val: %u, speed: %u\n", fp_config.rgb_mode, fp_config.rgb_hue, fp_config.rgb_sat, fp_config.rgb_val, fp_config.rgb_speed); + + return 0; +} + +bool fp_process_record_rgb_common(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // quantum_keycodes.h L400 for definitions + if (record->event.pressed) { + fp_rgb_set_hsv_and_mode(fp_config.rgb_hue, fp_config.rgb_sat, fp_config.rgb_val, fp_config.rgb_mode); + } + if (!record->event.pressed) { + // in fp_keyhandler.c, because process_record() gets called before fp_process_record_rgb_common, and because + // the rgb light change happens on the key release (!record->event.pressed), that means that this code gets called + // before the process_record key release + // Sooooo, need a defered exec event to handle this + defer_exec(20, fp_rgb_set_config_from_current_values, NULL); + } + break; +# ifndef FP_DISABLE_CUSTOM_KEYCODES +# endif // FP_DISABLE_CUSTOM_KEYCODES + default: + break; + } + + return true; +} + +// Returns hue, sat, or val, depending on the value of whichOne (0 for hue, 1 for sat, 2 for val) +uint8_t fp_rgb_get_element_from_hsv(uint8_t hue, uint8_t sat, uint8_t val, uint8_t whichOne) { + switch (whichOne) { + case 0: + return hue; + xprintf("fp_rgb_get_element_from_hsv: returning hue value: %d", hue); + break; + case 1: + return sat; + break; + case 2: + return val; + break; + default: + break; + } + + return 0; +} +#endif diff --git a/keyboards/fingerpunch/fp_rgb_common.h b/keyboards/fingerpunch/fp_rgb_common.h new file mode 100644 index 000000000000..052d38d50f35 --- /dev/null +++ b/keyboards/fingerpunch/fp_rgb_common.h @@ -0,0 +1,108 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#pragma once +#include QMK_KEYBOARD_H +#include "keyboards/fingerpunch/fp.h" + +layer_state_t fp_layer_state_set_rgb(layer_state_t state); +void fp_rgb_set_hsv_and_mode(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode); +void fp_post_init_rgb_common(void); +bool fp_process_record_rgb_common(uint16_t keycode, keyrecord_t *record); +uint32_t fp_rgb_set_config_from_current_values(uint32_t triger_time, void *cb_arg); +uint8_t fp_rgb_get_element_from_hsv(uint8_t hue, uint8_t sat, uint8_t val, uint8_t whichOne); + +#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) +# ifndef FP_LAYER_LIGHTING_HUE_0 +# define FP_LAYER_LIGHTING_HUE_0 HSV_BLUE +# endif // FP_LAYER_LIGHTING_HUE_0 + +# ifndef FP_LAYER_LIGHTING_HUE_1 +# define FP_LAYER_LIGHTING_HUE_1 HSV_WHITE +# endif // FP_LAYER_LIGHTING_HUE_1 + +# ifndef FP_LAYER_LIGHTING_HUE_2 +# define FP_LAYER_LIGHTING_HUE_2 HSV_GREEN +# endif // FP_LAYER_LIGHTING_HUE_2 + +# ifndef FP_LAYER_LIGHTING_HUE_3 +# define FP_LAYER_LIGHTING_HUE_3 HSV_PURPLE +# endif // FP_LAYER_LIGHTING_HUE_3 + +# ifndef FP_LAYER_LIGHTING_HUE_4 +# define FP_LAYER_LIGHTING_HUE_4 HSV_YELLOW +# endif // FP_LAYER_LIGHTING_HUE_4 + +# ifndef FP_LAYER_LIGHTING_HUE_5 +# define FP_LAYER_LIGHTING_HUE_5 FP_HSV_MELON +# endif // FP_LAYER_LIGHTING_HUE_5 + +# ifndef FP_LAYER_LIGHTING_HUE_6 +# define FP_LAYER_LIGHTING_HUE_6 HSV_CYAN +# endif // FP_LAYER_LIGHTING_HUE_6 + +# ifndef FP_LAYER_LIGHTING_HUE_7 +# define FP_LAYER_LIGHTING_HUE_7 HSV_SPRINGGREEN +# endif // FP_LAYER_LIGHTING_HUE_7 + +# ifndef FP_LAYER_LIGHTING_MODE_0 +# define FP_LAYER_LIGHTING_MODE_0 FP_LAYER_LIGHTING_MODE +# endif // FP_LAYER_LIGHTING_MODE_0 + +# ifndef FP_LAYER_LIGHTING_MODE_1 +# define FP_LAYER_LIGHTING_MODE_1 FP_LAYER_LIGHTING_MODE +# endif // FP_LAYER_LIGHTING_MODE_1 + +# ifndef FP_LAYER_LIGHTING_MODE_2 +# define FP_LAYER_LIGHTING_MODE_2 FP_LAYER_LIGHTING_MODE +# endif // FP_LAYER_LIGHTING_MODE_2 + +# ifndef FP_LAYER_LIGHTING_MODE_3 +# define FP_LAYER_LIGHTING_MODE_3 FP_LAYER_LIGHTING_MODE +# endif // FP_LAYER_LIGHTING_MODE_3 + +# ifndef FP_LAYER_LIGHTING_MODE_4 +# define FP_LAYER_LIGHTING_MODE_4 FP_LAYER_LIGHTING_MODE +# endif // FP_LAYER_LIGHTING_MODE_4 + +# ifndef FP_LAYER_LIGHTING_MODE_5 +# define FP_LAYER_LIGHTING_MODE_5 FP_LAYER_LIGHTING_MODE +# endif // FP_LAYER_LIGHTING_MODE_5 + +# ifndef FP_LAYER_LIGHTING_MODE_6 +# define FP_LAYER_LIGHTING_MODE_6 FP_LAYER_LIGHTING_MODE +# endif // FP_LAYER_LIGHTING_MODE_6 + +# ifndef FP_LAYER_LIGHTING_MODE_7 +# define FP_LAYER_LIGHTING_MODE_7 FP_LAYER_LIGHTING_MODE +# endif // FP_LAYER_LIGHTING_MODE_7 + +# ifndef FP_LAYER_LIGHTING_AUTO_MOUSE_HUE +# define FP_LAYER_LIGHTING_AUTO_MOUSE_HUE HSV_ORANGE +# endif // FP_LAYER_LIGHTING_AUTO_MOUSE_HUE + +# ifndef FP_LAYER_LIGHTING_AUTO_MOUSE_MODE +# define FP_LAYER_LIGHTING_AUTO_MOUSE_MODE FP_LAYER_LIGHTING_MODE +# endif // FP_LAYER_LIGHTING_AUTO_MOUSE_HUE + +# ifndef FP_LAYER_LIGHTING_CAPS_LOCK_HUE +# define FP_LAYER_LIGHTING_CAPS_LOCK_HUE HSV_RED +# endif // FP_LAYER_LIGHTING_AUTO_MOUSE_HUE + +# ifndef FP_LAYER_LIGHTING_CAPS_LOCK_MODE +# define FP_LAYER_LIGHTING_CAPS_LOCK_MODE FP_LAYER_LIGHTING_MODE +# endif // FP_LAYER_LIGHTING_AUTO_MOUSE_HUE +#endif diff --git a/keyboards/fingerpunch/fp_rgb_matrix.c b/keyboards/fingerpunch/fp_rgb_matrix.c new file mode 100644 index 000000000000..50909653217f --- /dev/null +++ b/keyboards/fingerpunch/fp_rgb_matrix.c @@ -0,0 +1,65 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#include "keyboards/fingerpunch/fp_rgb_matrix.h" + +#ifdef RGB_MATRIX_ENABLE + +void fp_rgb_set_hsv_and_mode(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode) { + rgb_matrix_sethsv_noeeprom(hue, sat, val); + rgb_matrix_mode_noeeprom(mode); +} + +void fp_post_init_rgb_matrix(void) { + +} + +layer_state_t fp_layer_state_set_rgb_matrix(layer_state_t state) { + switch (get_highest_layer(state)) { + case 0: + break; + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + break; + case 5: + break; + case 6: + break; + case 7: + break; + default: + // default to layer 0 behavior + break; + } + return state; +} + +bool fp_process_record_rgb_matrix(uint16_t keycode, keyrecord_t *record) { +# ifndef FP_DISABLE_CUSTOM_KEYCODES + switch (keycode) { + default: + break; + } +# endif // FP_DISABLE_CUSTOM_KEYCODES + + return true; +} +#endif diff --git a/keyboards/fingerpunch/fp_rgb_matrix.h b/keyboards/fingerpunch/fp_rgb_matrix.h new file mode 100644 index 000000000000..8ddb41bcdf51 --- /dev/null +++ b/keyboards/fingerpunch/fp_rgb_matrix.h @@ -0,0 +1,29 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#pragma once +#include QMK_KEYBOARD_H +#include "keyboards/fingerpunch/fp.h" + +#ifdef RGB_MATRIX_ENABLE +# ifndef FP_LAYER_LIGHTING_MODE +# define FP_LAYER_LIGHTING_MODE RGB_MATRIX_SOLID_COLOR +# endif +#endif + +layer_state_t fp_layer_state_set_rgb_matrix(layer_state_t state); +bool fp_process_record_rgb_matrix(uint16_t keycode, keyrecord_t *record); +void fp_post_init_rgb_matrix(void); diff --git a/keyboards/fingerpunch/fp_rgblight.c b/keyboards/fingerpunch/fp_rgblight.c new file mode 100644 index 000000000000..3034dcf2d70c --- /dev/null +++ b/keyboards/fingerpunch/fp_rgblight.c @@ -0,0 +1,68 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + + +#include "keyboards/fingerpunch/fp_rgblight.h" + +#ifdef RGBLIGHT_ENABLE + +void fp_rgb_set_hsv_and_mode(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode) { + xprintf("fp_rgb_set_hsv_and_mode: hue: %d, sat: %d, val: %d, mode: %d\n", hue, sat, val, mode); + rgblight_sethsv_noeeprom(hue, sat, val); + rgblight_mode_noeeprom(mode); +} + +void fp_post_init_rgblight(void) { + +} + +layer_state_t fp_layer_state_set_rgblight(layer_state_t state) { + switch (get_highest_layer(state)) { + case 0: + break; + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + break; + case 5: + break; + case 6: + break; + case 7: + break; + default: + // default to layer 0 behavior + break; + } + return state; +} + +bool fp_process_record_rgblight(uint16_t keycode, keyrecord_t *record) { +# ifndef FP_DISABLE_CUSTOM_KEYCODES + switch (keycode) { + default: + break; + } +# endif // FP_DISABLE_CUSTOM_KEYCODES + + return true; +} + +#endif diff --git a/keyboards/fingerpunch/fp_rgblight.h b/keyboards/fingerpunch/fp_rgblight.h new file mode 100644 index 000000000000..12f537d2e168 --- /dev/null +++ b/keyboards/fingerpunch/fp_rgblight.h @@ -0,0 +1,29 @@ +/* Copyright 2022 Sadek Baroudi + * + * 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 . + */ + +#pragma once +#include QMK_KEYBOARD_H +#include "keyboards/fingerpunch/fp.h" + +#ifdef RGBLIGHT_ENABLE +# ifndef FP_LAYER_LIGHTING_MODE +# define FP_LAYER_LIGHTING_MODE RGBLIGHT_MODE_STATIC_LIGHT +# endif +#endif + +layer_state_t fp_layer_state_set_rgblight(layer_state_t state); +bool fp_process_record_rgblight(uint16_t keycode, keyrecord_t *record); +void fp_post_init_rgblight(void); diff --git a/keyboards/fingerpunch/luakeeb/config.h b/keyboards/fingerpunch/luakeeb/config.h index 41e476abb36b..34a74383d5be 100644 --- a/keyboards/fingerpunch/luakeeb/config.h +++ b/keyboards/fingerpunch/luakeeb/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #define PRODUCT_ID 0x7178 #define MANUFACTURER sadekbaroudi #define PRODUCT sadekbaroudi luakeeb -#define DESCRIPTION sadekbaroudi luakeeb /* key matrix size */ // Rows are doubled-up @@ -47,33 +46,21 @@ along with this program. If not, see . #ifdef RGBLIGHT_ENABLE #define RGBLIGHT_SPLIT #define RGBLED_SPLIT { 21, 21 } - #ifdef RGBLIGHT_ANIMATIONS - #undef RGBLIGHT_ANIMATIONS - #endif #define RGBLED_NUM 42 #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 - #define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level for RGBLIGHT_ENABLE */ + #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level for RGBLIGHT_ENABLE */ #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 + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_TWINKLE #endif #define ENCODERS_PAD_A {B4} diff --git a/keyboards/fingerpunch/luakeeb/fp_build.json b/keyboards/fingerpunch/luakeeb/fp_build.json new file mode 100644 index 000000000000..86e4cf714369 --- /dev/null +++ b/keyboards/fingerpunch/luakeeb/fp_build.json @@ -0,0 +1,12 @@ +[ + { + "type" : "single", + "name" : "RGBLIGHT_ENABLE", + "user_input": "Do you have RGB?" + }, + { + "type" : "single", + "name" : "ENCODER_ENABLE", + "user_input": "Do you have one or more rotary encoders?" + } +] \ No newline at end of file diff --git a/keyboards/fingerpunch/luakeeb/luakeeb.h b/keyboards/fingerpunch/luakeeb/luakeeb.h index 7dd6b60f90ac..99567f5d58b4 100644 --- a/keyboards/fingerpunch/luakeeb/luakeeb.h +++ b/keyboards/fingerpunch/luakeeb/luakeeb.h @@ -22,3 +22,4 @@ #define LAYOUT LAYOUT_split_3x5_4 +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/luakeeb/readme.md b/keyboards/fingerpunch/luakeeb/readme.md index 0098d2e40119..743517cf514a 100644 --- a/keyboards/fingerpunch/luakeeb/readme.md +++ b/keyboards/fingerpunch/luakeeb/readme.md @@ -4,12 +4,17 @@ * Hardware Supported: luakeeb PCB Make example for this keyboard (after setting up your build environment): +``` + make fingerpunch/luakeeb:default RGBLIGHT_ENABLE=yes ENCODER_ENABLE=yes +``` - make fingerpunch/luakeeb:default +Don't forget to add ```CONVERT_TO=stemcell``` if using a stemcell controller. -Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): - - make fingerpunch/luakeeb:default:flash +Options are: +``` + RGBLIGHT_ENABLE=yes + ENCODER_ENABLE=yes +``` See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/fingerpunch/luakeeb/rules.mk b/keyboards/fingerpunch/luakeeb/rules.mk index a4fe3e0d4c7f..603a6ee88e26 100644 --- a/keyboards/fingerpunch/luakeeb/rules.mk +++ b/keyboards/fingerpunch/luakeeb/rules.mk @@ -17,10 +17,19 @@ 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 = yes # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = yes +ENCODER_ENABLE = no SPLIT_KEYBOARD = yes LAYOUTS = split_3x5_4 + +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/personal/badwings/badwings.c b/keyboards/fingerpunch/personal/badwings/badwings.c new file mode 100644 index 000000000000..6eb3208beb12 --- /dev/null +++ b/keyboards/fingerpunch/personal/badwings/badwings.c @@ -0,0 +1 @@ +#include "badwings.h" diff --git a/keyboards/fingerpunch/personal/badwings/badwings.h b/keyboards/fingerpunch/personal/badwings/badwings.h new file mode 100644 index 000000000000..562a5cf2d280 --- /dev/null +++ b/keyboards/fingerpunch/personal/badwings/badwings.h @@ -0,0 +1,34 @@ +#pragma once +#include "quantum.h" + +#define ___ KC_NO + +/* + * ,---------------------------------------. ,---------------------------------------. + * | L00 | L01 | L02 | L03 | L04 | | R00 | R01 | R02 | R03 | R04 | + * |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| + * | L10 | L11 | L12 | L13 | L14 | | R10 | R11 | R12 | R13 | R14 | + * |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| + * | L20 | L21 | L22 | L23 | L24 | | R20 | R21 | R22 | R23 | R24 | + * |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| + * | | L32 | L33 | L34 | | R30 | R31 | R32 | | + * `---------------------------------------' `---------------------------------------' + */ + + +#define LAYOUT_3x5_3( \ + K00, K10, K20, K30, K40, K44, K34, K24, K14, K04, \ + K01, K11, K21, K31, K41, K45, K35, K25, K15, K05, \ + K02, K12, K22, K32, K42, K46, K36, K26, K16, K06, \ + K23, K33, K43, K47, K37, K27 \ +) { \ + { K00, K01, K02, ___, K04, K05, K06, ___ }, \ + { K10, K11, K12, ___, K14, K15, K16, ___ }, \ + { K20, K21, K22, K23, K24, K25, K26, K27 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37 }, \ + { K40, K41, K42, K43, K44, K45, K46, K47 } \ +} + +#define LAYOUT LAYOUT_3x5_3 + +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/personal/badwings/config.h b/keyboards/fingerpunch/personal/badwings/config.h new file mode 100644 index 000000000000..d343477f5aac --- /dev/null +++ b/keyboards/fingerpunch/personal/badwings/config.h @@ -0,0 +1,36 @@ +#pragma once + +#include "config_common.h" + +#define DEVICE_VER 0x0001 +#define VENDOR_ID 0x4A48 // JH +#define PRODUCT_ID 0x4257 // BW + +#define MANUFACTURER jasonhazel +#define PRODUCT Bad Wings + +#define MATRIX_COLS 8 +#define MATRIX_ROWS 5 + +#define SPI_SCK_PIN GP2 +#define SPI_MOSI_PIN GP3 +#define SPI_MISO_PIN GP4 + +#define SHIFTREG_MATRIX_COL_CS GP0 +#define SHIFTREG_DIVISOR 8 + +#define DIODE_DIRECTION COL2ROW + +#define MATRIX_ROW_PINS_SR { GP26, GP27, GP28, GP29, GP6 } + +#define POINTING_DEVICE_CS_PIN GP1 + +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +#ifdef CIRQUE_ENABLE + #define POINTING_DEVICE_ROTATION_90 + #define CIRQUE_PINNACLE_TAP_ENABLE + #define POINTING_DEVICE_TASK_THROTTLE_MS 5 + #define CIRQUE_PINNACLE_DIAMETER_MM 35 +#endif diff --git a/keyboards/fingerpunch/personal/badwings/halconf.h b/keyboards/fingerpunch/personal/badwings/halconf.h new file mode 100644 index 000000000000..10bbcb5a41a8 --- /dev/null +++ b/keyboards/fingerpunch/personal/badwings/halconf.h @@ -0,0 +1,28 @@ +/* + * Copyright 2022 Charly Delay (@0xcharly) + * + * 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 . + */ + +#pragma once + +#define HAL_USE_SERIAL FALSE +#define HAL_USE_SPI TRUE +#define HAL_USE_I2C TRUE +// #define HAL_USE_I2C FALSE +#define HAL_USE_PWM TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next "halconf.h" \ No newline at end of file diff --git a/keyboards/fingerpunch/personal/badwings/keymaps/default/config.h b/keyboards/fingerpunch/personal/badwings/keymaps/default/config.h new file mode 100644 index 000000000000..d8c34b8691ae --- /dev/null +++ b/keyboards/fingerpunch/personal/badwings/keymaps/default/config.h @@ -0,0 +1,27 @@ +#pragma once +#include "config_common.h" + +#define TAPPING_TERM 200 +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM_PER_KEY + +#define ONESHOT_TAP_TOGGLE 10 +#define ONESHOT_TIMEOUT 500 +#define COMBO_TERM 100 +#define COMBO_TERM_PER_COMBO + +#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD + +// disable shit +#define NO_MUSIC_MODE + +#undef LOCKING_SUPPORT_ENABLE +#undef LOCKING_RESYNC_ENABLE + +#define POINTING_DEVICE_ROTATION_90 +#define CIRQUE_PINNACLE_DIAMETER_MM 35 +#define CIRQUE_PINNACLE_TAP_ENABLE +#define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_ABSOLUTE_MODE +#define CIRQUE_DEVICE_GESTURES_SCROLL_ENABLE diff --git a/keyboards/fingerpunch/personal/badwings/keymaps/default/keymap.c b/keyboards/fingerpunch/personal/badwings/keymaps/default/keymap.c new file mode 100644 index 000000000000..0dfbcb798037 --- /dev/null +++ b/keyboards/fingerpunch/personal/badwings/keymaps/default/keymap.c @@ -0,0 +1,115 @@ +#include QMK_KEYBOARD_H + +enum layers { + _ALPHA, + _SYMBOL, + _NUMBER, + _NAVIGATION, + LAYER_LENGTH +}; + + +enum tapdances { + TD_QESC, + TD_SBKT, + TD_CBKT, + TD_PARN, + TD_LTGT, + TD_ATAB, + TAPDANCE_LENGTH +}; + +enum combos { + COMBO_NAVIGATION, + COMBO_LENGTH +}; + + +// begin tapdances +#define KC_QESC TD(TD_QESC) +#define KC_SBKT TD(TD_SBKT) +#define KC_CBKT TD(TD_CBKT) +#define KC_PARN TD(TD_PARN) +#define KC_LTGT TD(TD_LTGT) +#define KC_ATAB TD(TD_ATAB) + +#define KC_GUIX LGUI_T(KC_X) +#define KC_ALTC LALT_T(KC_C) + +// oneshots +#define KC_OSFT OSM(MOD_LSFT) +#define KC_OALT OSM(MOD_LALT) + +// layer changing +#define KC_OSYM OSL(_SYMBOL) +#define KC_ONUM LT(_NUMBER, KC_BSPC) + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch(keycode) { + case KC_GUIX: + case KC_ALTC: + return TAPPING_TERM * 2; + default: + return TAPPING_TERM; + } +} + +// tapdances +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_QESC] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC), + [TD_SBKT] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), + [TD_CBKT] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_RCBR), + [TD_PARN] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_RPRN), + [TD_LTGT] = ACTION_TAP_DANCE_DOUBLE(KC_LABK, KC_RABK), + [TD_ATAB] = ACTION_TAP_DANCE_DOUBLE(KC_A, KC_TAB) +}; +// end tapdances + +uint16_t COMBO_LEN = COMBO_LENGTH; + +const uint16_t PROGMEM combo_navigation[] = { KC_OSYM, KC_ONUM, COMBO_END }; +combo_t key_combos[] = { + [COMBO_NAVIGATION] = COMBO(combo_navigation, OSL(_NAVIGATION)), +}; + +uint16_t get_combo_term(uint16_t index, combo_t *combo) { + switch(index) { + case COMBO_NAVIGATION: // extending the combo term here helps reduce sticky layers some more. + return 250; + default: + return COMBO_TERM; + } +} +// end combos + + +// begin layers +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_ALPHA] = LAYOUT( + KC_QESC, 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_QUOT, \ + KC_Z, KC_GUIX, KC_ALTC, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \ + KC_LCTL, KC_OSYM, KC_OSFT, KC_SPC, KC_ONUM, KC_ENT + ), + [_SYMBOL] = LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_PIPE, KC_NO, \ + KC_GRV, KC_TILD, KC_UNDS, KC_EQL, KC_NO, KC_SBKT, KC_CBKT, KC_PARN, KC_LTGT, KC_BSLASH, \ + KC_NO, KC_NO, KC_PLUS, KC_MINS, KC_NO, KC_NO, KC_NO, KC_COLN, KC_DOT, KC_SCLN, \ + KC_LCTL, KC_OSYM, KC_OSFT, KC_SPC, KC_ONUM, KC_ENT + ), + [_NUMBER] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOT, KC_NO, \ + KC_LCTL, KC_OSYM, KC_OSFT, KC_SPC, KC_ONUM, KC_ENT + ), + [_NAVIGATION] = LAYOUT( + KC_NO, KC_F2, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_UP, KC_END, KC_BSPC, \ + KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT, \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL, \ + KC_LCTL, KC_OSYM, KC_OSFT, KC_SPC, KC_ONUM, KC_ENT + ) +}; + + + diff --git a/keyboards/fingerpunch/personal/badwings/keymaps/default/rules.mk b/keyboards/fingerpunch/personal/badwings/keymaps/default/rules.mk new file mode 100644 index 000000000000..43fb4527f8fc --- /dev/null +++ b/keyboards/fingerpunch/personal/badwings/keymaps/default/rules.mk @@ -0,0 +1,9 @@ +GRAVE_ESC_ENABLE = no +SPACE_CADET_ENABLE = no + +CAPS_WORD_ENABLE = yes +KEY_OVERRIDE_ENABLE = yes +COMBO_ENABLE = yes +TAP_DANCE_ENABLE = yes + +POINTING_DEVICE_ENABLE = yes \ No newline at end of file diff --git a/keyboards/fingerpunch/personal/badwings/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/personal/badwings/keymaps/sadekbaroudi/keymap.c new file mode 100644 index 000000000000..554a42a7ffd4 --- /dev/null +++ b/keyboards/fingerpunch/personal/badwings/keymaps/sadekbaroudi/keymap.c @@ -0,0 +1,95 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ + +/* + * The `LAYOUT_badwings_base` macro is a template to allow the use of identical + * modifiers for the default layouts (eg ALPHA_ALT, Colemak, Dvorak, etc), so + * that there is no need to set them up for each layout, and modify all of + * them if I want to change them. This helps to keep consistency and ease + * of use. K## is a placeholder to pass through the individual keycodes + */ + +#include "sadekbaroudi.h" +#include QMK_KEYBOARD_H + +// clang-format off +#define LAYOUT_badwings_base( \ + K00, K10, K20, K30, K40, K44, K34, K24, K14, K04, \ + K01, K11, K21, K31, K41, K45, K35, K25, K15, K05, \ + K02, K12, K22, K32, K42, K46, K36, K26, K16, K06, \ + K23, K33, K43, K47, K37, K27 \ + ) \ + LAYOUT_wrapper( \ + K00, K10, K20, LT(_FUNCTION, K30), K40, K44, LT(_FUNCTION, K34), K24, K14, K04, \ + LCTL_T(K01), LGUI_T(K11), LALT_T(K21), LSFT_T(K31), K41, LT(_MOUSE, K45), RSFT_T(K35), RALT_T(K25), RGUI_T(K15), RCTL_T(K05), \ + K02, K12, K22, K32, K42, K46, K36, K26, K16, K06, \ + K23, LT(_NAVIGATION,K33), LT(_FUNCTION,K43), LT(_MEDIA,K47), LT(_SYMBOLS,K37), K27 \ + ) + +/* Re-pass though to allow templates to be used */ +#define LAYOUT_badwings_base_wrapper(...) LAYOUT_badwings_base(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_ALPHA_ALT] = LAYOUT_badwings_base_wrapper( + _________________ALPHA_ALT_L1_________________, _________________ALPHA_ALT_R1_________________, + _________________ALPHA_ALT_L2_________________, _________________ALPHA_ALT_R2_________________, + _________________ALPHA_ALT_L3_________________, _________________ALPHA_ALT_R3_________________, + __ALPHA_ALT_THUMBS_6__ + ), + + [_ALPHA] = LAYOUT_badwings_base_wrapper( + __________________ALPHA_L1____________________, __________________ALPHA_R1____________________, + __________________ALPHA_L2____________________, __________________ALPHA_R2____________________, + __________________ALPHA_L3____________________, __________________ALPHA_R3____________________, + __ALPHA_THUMBS_6__ + ), + + [_NAVIGATION] = LAYOUT_wrapper( + ________________NAVIGATION_1_______________, _________________NUMPAD_1__________________, + ________________NAVIGATION_2_______________, _________________NUMPAD_2__________________, + ________________NAVIGATION_3_______________, _________________NUMPAD_3__________________, + _______, _______, KC_TAB, KC_BSPC, KC_SPACE, KC_DOT + ), + + [_SYMBOLS] = LAYOUT_wrapper( + ________________SYMBOLS_L1_________________, ________________SYMBOLS_R1_________________, + ________________SYMBOLS_L2_________________, ________________SYMBOLS_R2_________________, + ________________SYMBOLS_L3_________________, ________________SYMBOLS_R3_________________, + _______, KC_ENT, KC_DEL, KC_BSPC, _______, _______ + ), + + [_FUNCTION] = LAYOUT_wrapper( + ________________SHIFTNAV_1_________________, ________________FUNCTION_1_________________, + ________________SHIFTNAV_2_________________, ________________FUNCTION_2_________________, + ________________SHIFTNAV_3_________________, ________________FUNCTION_3_________________, + _______, _______, _______, N_DEL_LINE, KC_SPACE, _______ + ), + + [_MEDIA] = LAYOUT_wrapper( + ___________________RGB_1___________________, _________________MACROS_1__________________, + ___________________RGB_2___________________, _________________MACROS_2__________________, + ___________________RGB_3___________________, _________________MACROS_3__________________, + _______, _______, _______, _______, _______, _______ + ), + + [_MOUSE] = LAYOUT_wrapper( + _______________AUTO_MOUSE_1________________, ___________________BLANK___________________, + _______________AUTO_MOUSE_2________________, ___________________BLANK___________________, + _______________AUTO_MOUSE_3________________, ___________________BLANK___________________, + _______, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN3, KC_MS_BTN2, _______ + ) +}; diff --git a/keyboards/fingerpunch/personal/badwings/mcuconf.c b/keyboards/fingerpunch/personal/badwings/mcuconf.c new file mode 100644 index 000000000000..5854b8999ea1 --- /dev/null +++ b/keyboards/fingerpunch/personal/badwings/mcuconf.c @@ -0,0 +1,8 @@ +#pragma once + +#include_next "mcuconf.h" + +#undef RP_SPI_USE_SPI0 +#define RP_SPI_USE_SPI0 TRUE +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/fingerpunch/personal/badwings/rules.mk b/keyboards/fingerpunch/personal/badwings/rules.mk new file mode 100644 index 000000000000..97d8416ffdf9 --- /dev/null +++ b/keyboards/fingerpunch/personal/badwings/rules.mk @@ -0,0 +1,36 @@ +MCU = RP2040 +BOOTLOADER = rp2040 + +# LTO_ENABLE = yes + +CONSOLE_ENABLE = no +COMMAND_ENABLE = no +NKRO_ENABLE = no +BACKLIGHT_ENABLE = no +RGBLIGHT_ENABLE = no +AUDIO_ENABLE = no +UNICODE_ENABLE = no +MAGIC_ENABLE = no + +BOOTMAGIC_ENABLE = yes +MOUSEKEY_ENABLE = yes +EXTRAKEY_ENABLE = yes + +SRC += keyboards/fingerpunch/fp_matrix_74hc595_spi.c +QUANTUM_LIB_SRC += spi_master.c +CUSTOM_MATRIX = lite + +ifeq ($(strip $(CIRQUE_ENABLE)), yes) + MOUSEKEY_ENABLE := yes # not required, but enabling for mouse button keys + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER = cirque_pinnacle_spi + OPT_DEFS += -DCIRQUE_ENABLE +endif + +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/euclid36proto/config.h b/keyboards/fingerpunch/personal/euclid36proto/config.h similarity index 100% rename from keyboards/fingerpunch/euclid36proto/config.h rename to keyboards/fingerpunch/personal/euclid36proto/config.h diff --git a/keyboards/fingerpunch/euclid36proto/euclid36proto.c b/keyboards/fingerpunch/personal/euclid36proto/euclid36proto.c similarity index 100% rename from keyboards/fingerpunch/euclid36proto/euclid36proto.c rename to keyboards/fingerpunch/personal/euclid36proto/euclid36proto.c diff --git a/keyboards/fingerpunch/euclid36proto/euclid36proto.h b/keyboards/fingerpunch/personal/euclid36proto/euclid36proto.h similarity index 100% rename from keyboards/fingerpunch/euclid36proto/euclid36proto.h rename to keyboards/fingerpunch/personal/euclid36proto/euclid36proto.h diff --git a/keyboards/fingerpunch/euclid36proto/keymaps/default/keymap.c b/keyboards/fingerpunch/personal/euclid36proto/keymaps/default/keymap.c similarity index 100% rename from keyboards/fingerpunch/euclid36proto/keymaps/default/keymap.c rename to keyboards/fingerpunch/personal/euclid36proto/keymaps/default/keymap.c diff --git a/keyboards/fingerpunch/euclid36proto/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/personal/euclid36proto/keymaps/sadekbaroudi/keymap.c similarity index 100% rename from keyboards/fingerpunch/euclid36proto/keymaps/sadekbaroudi/keymap.c rename to keyboards/fingerpunch/personal/euclid36proto/keymaps/sadekbaroudi/keymap.c diff --git a/keyboards/fingerpunch/euclid36proto/readme.md b/keyboards/fingerpunch/personal/euclid36proto/readme.md similarity index 100% rename from keyboards/fingerpunch/euclid36proto/readme.md rename to keyboards/fingerpunch/personal/euclid36proto/readme.md diff --git a/keyboards/fingerpunch/euclid36proto/rules.mk b/keyboards/fingerpunch/personal/euclid36proto/rules.mk similarity index 100% rename from keyboards/fingerpunch/euclid36proto/rules.mk rename to keyboards/fingerpunch/personal/euclid36proto/rules.mk diff --git a/keyboards/fingerpunch/halfdash/.noci b/keyboards/fingerpunch/personal/halfdash/.noci similarity index 100% rename from keyboards/fingerpunch/halfdash/.noci rename to keyboards/fingerpunch/personal/halfdash/.noci diff --git a/keyboards/fingerpunch/halfdash/config.h b/keyboards/fingerpunch/personal/halfdash/config.h similarity index 100% rename from keyboards/fingerpunch/halfdash/config.h rename to keyboards/fingerpunch/personal/halfdash/config.h diff --git a/keyboards/fingerpunch/halfdash/halfdash.c b/keyboards/fingerpunch/personal/halfdash/halfdash.c similarity index 100% rename from keyboards/fingerpunch/halfdash/halfdash.c rename to keyboards/fingerpunch/personal/halfdash/halfdash.c diff --git a/keyboards/fingerpunch/halfdash/halfdash.h b/keyboards/fingerpunch/personal/halfdash/halfdash.h similarity index 100% rename from keyboards/fingerpunch/halfdash/halfdash.h rename to keyboards/fingerpunch/personal/halfdash/halfdash.h diff --git a/keyboards/fingerpunch/halfdash/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/personal/halfdash/keymaps/sadekbaroudi/keymap.c similarity index 100% rename from keyboards/fingerpunch/halfdash/keymaps/sadekbaroudi/keymap.c rename to keyboards/fingerpunch/personal/halfdash/keymaps/sadekbaroudi/keymap.c diff --git a/keyboards/fingerpunch/halfdash/readme.md b/keyboards/fingerpunch/personal/halfdash/readme.md similarity index 100% rename from keyboards/fingerpunch/halfdash/readme.md rename to keyboards/fingerpunch/personal/halfdash/readme.md diff --git a/keyboards/fingerpunch/halfdash/rules.mk b/keyboards/fingerpunch/personal/halfdash/rules.mk similarity index 100% rename from keyboards/fingerpunch/halfdash/rules.mk rename to keyboards/fingerpunch/personal/halfdash/rules.mk diff --git a/keyboards/fingerpunch/handwired/barobordhw/barobordhw.c b/keyboards/fingerpunch/personal/handwired/barobordhw/barobordhw.c similarity index 100% rename from keyboards/fingerpunch/handwired/barobordhw/barobordhw.c rename to keyboards/fingerpunch/personal/handwired/barobordhw/barobordhw.c diff --git a/keyboards/fingerpunch/handwired/barobordhw/barobordhw.h b/keyboards/fingerpunch/personal/handwired/barobordhw/barobordhw.h similarity index 100% rename from keyboards/fingerpunch/handwired/barobordhw/barobordhw.h rename to keyboards/fingerpunch/personal/handwired/barobordhw/barobordhw.h diff --git a/keyboards/fingerpunch/handwired/barobordhw/config.h b/keyboards/fingerpunch/personal/handwired/barobordhw/config.h similarity index 100% rename from keyboards/fingerpunch/handwired/barobordhw/config.h rename to keyboards/fingerpunch/personal/handwired/barobordhw/config.h diff --git a/keyboards/fingerpunch/handwired/barobordhw/keymaps/default/keymap.c b/keyboards/fingerpunch/personal/handwired/barobordhw/keymaps/default/keymap.c similarity index 100% rename from keyboards/fingerpunch/handwired/barobordhw/keymaps/default/keymap.c rename to keyboards/fingerpunch/personal/handwired/barobordhw/keymaps/default/keymap.c diff --git a/keyboards/fingerpunch/handwired/barobordhw/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/personal/handwired/barobordhw/keymaps/sadekbaroudi/keymap.c similarity index 100% rename from keyboards/fingerpunch/handwired/barobordhw/keymaps/sadekbaroudi/keymap.c rename to keyboards/fingerpunch/personal/handwired/barobordhw/keymaps/sadekbaroudi/keymap.c diff --git a/keyboards/fingerpunch/handwired/barobordhw/readme.md b/keyboards/fingerpunch/personal/handwired/barobordhw/readme.md similarity index 100% rename from keyboards/fingerpunch/handwired/barobordhw/readme.md rename to keyboards/fingerpunch/personal/handwired/barobordhw/readme.md diff --git a/keyboards/fingerpunch/handwired/barobordhw/rules-rgb-matrix.mk b/keyboards/fingerpunch/personal/handwired/barobordhw/rules-rgb-matrix.mk similarity index 100% rename from keyboards/fingerpunch/handwired/barobordhw/rules-rgb-matrix.mk rename to keyboards/fingerpunch/personal/handwired/barobordhw/rules-rgb-matrix.mk diff --git a/keyboards/fingerpunch/handwired/barobordhw/rules-rgb.mk b/keyboards/fingerpunch/personal/handwired/barobordhw/rules-rgb.mk similarity index 100% rename from keyboards/fingerpunch/handwired/barobordhw/rules-rgb.mk rename to keyboards/fingerpunch/personal/handwired/barobordhw/rules-rgb.mk diff --git a/keyboards/fingerpunch/handwired/enigma36/config-v1.h b/keyboards/fingerpunch/personal/handwired/enigma36/config-v1.h similarity index 100% rename from keyboards/fingerpunch/handwired/enigma36/config-v1.h rename to keyboards/fingerpunch/personal/handwired/enigma36/config-v1.h diff --git a/keyboards/fingerpunch/handwired/enigma36/config-v2.h b/keyboards/fingerpunch/personal/handwired/enigma36/config-v2.h similarity index 100% rename from keyboards/fingerpunch/handwired/enigma36/config-v2.h rename to keyboards/fingerpunch/personal/handwired/enigma36/config-v2.h diff --git a/keyboards/fingerpunch/handwired/enigma36/enigma36.c b/keyboards/fingerpunch/personal/handwired/enigma36/enigma36.c similarity index 100% rename from keyboards/fingerpunch/handwired/enigma36/enigma36.c rename to keyboards/fingerpunch/personal/handwired/enigma36/enigma36.c diff --git a/keyboards/fingerpunch/handwired/enigma36/enigma36.h b/keyboards/fingerpunch/personal/handwired/enigma36/enigma36.h similarity index 100% rename from keyboards/fingerpunch/handwired/enigma36/enigma36.h rename to keyboards/fingerpunch/personal/handwired/enigma36/enigma36.h diff --git a/keyboards/fingerpunch/handwired/enigma36/keymaps/default/keymap.c b/keyboards/fingerpunch/personal/handwired/enigma36/keymaps/default/keymap.c similarity index 100% rename from keyboards/fingerpunch/handwired/enigma36/keymaps/default/keymap.c rename to keyboards/fingerpunch/personal/handwired/enigma36/keymaps/default/keymap.c diff --git a/keyboards/fingerpunch/handwired/enigma36/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/personal/handwired/enigma36/keymaps/sadekbaroudi/keymap.c similarity index 100% rename from keyboards/fingerpunch/handwired/enigma36/keymaps/sadekbaroudi/keymap.c rename to keyboards/fingerpunch/personal/handwired/enigma36/keymaps/sadekbaroudi/keymap.c diff --git a/keyboards/fingerpunch/handwired/enigma36/readme.md b/keyboards/fingerpunch/personal/handwired/enigma36/readme.md similarity index 100% rename from keyboards/fingerpunch/handwired/enigma36/readme.md rename to keyboards/fingerpunch/personal/handwired/enigma36/readme.md diff --git a/keyboards/fingerpunch/handwired/enigma36/rules-v1.mk b/keyboards/fingerpunch/personal/handwired/enigma36/rules-v1.mk similarity index 100% rename from keyboards/fingerpunch/handwired/enigma36/rules-v1.mk rename to keyboards/fingerpunch/personal/handwired/enigma36/rules-v1.mk diff --git a/keyboards/fingerpunch/handwired/enigma36/rules-v2.mk b/keyboards/fingerpunch/personal/handwired/enigma36/rules-v2.mk similarity index 100% rename from keyboards/fingerpunch/handwired/enigma36/rules-v2.mk rename to keyboards/fingerpunch/personal/handwired/enigma36/rules-v2.mk diff --git a/keyboards/fingerpunch/handwired/enigma36/thumbstick.c b/keyboards/fingerpunch/personal/handwired/enigma36/thumbstick.c similarity index 100% rename from keyboards/fingerpunch/handwired/enigma36/thumbstick.c rename to keyboards/fingerpunch/personal/handwired/enigma36/thumbstick.c diff --git a/keyboards/fingerpunch/handwired/enigma36/thumbstick.h b/keyboards/fingerpunch/personal/handwired/enigma36/thumbstick.h similarity index 100% rename from keyboards/fingerpunch/handwired/enigma36/thumbstick.h rename to keyboards/fingerpunch/personal/handwired/enigma36/thumbstick.h diff --git a/keyboards/fingerpunch/handwired/ffkbhw/config.h b/keyboards/fingerpunch/personal/handwired/ffkbhw/config.h similarity index 100% rename from keyboards/fingerpunch/handwired/ffkbhw/config.h rename to keyboards/fingerpunch/personal/handwired/ffkbhw/config.h diff --git a/keyboards/fingerpunch/handwired/ffkbhw/ffkbhw.c b/keyboards/fingerpunch/personal/handwired/ffkbhw/ffkbhw.c similarity index 100% rename from keyboards/fingerpunch/handwired/ffkbhw/ffkbhw.c rename to keyboards/fingerpunch/personal/handwired/ffkbhw/ffkbhw.c diff --git a/keyboards/fingerpunch/handwired/ffkbhw/ffkbhw.h b/keyboards/fingerpunch/personal/handwired/ffkbhw/ffkbhw.h similarity index 100% rename from keyboards/fingerpunch/handwired/ffkbhw/ffkbhw.h rename to keyboards/fingerpunch/personal/handwired/ffkbhw/ffkbhw.h diff --git a/keyboards/fingerpunch/handwired/ffkbhw/info.json b/keyboards/fingerpunch/personal/handwired/ffkbhw/info.json similarity index 100% rename from keyboards/fingerpunch/handwired/ffkbhw/info.json rename to keyboards/fingerpunch/personal/handwired/ffkbhw/info.json diff --git a/keyboards/fingerpunch/handwired/ffkbhw/keymaps/default/keymap.c b/keyboards/fingerpunch/personal/handwired/ffkbhw/keymaps/default/keymap.c similarity index 100% rename from keyboards/fingerpunch/handwired/ffkbhw/keymaps/default/keymap.c rename to keyboards/fingerpunch/personal/handwired/ffkbhw/keymaps/default/keymap.c diff --git a/keyboards/fingerpunch/handwired/ffkbhw/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/personal/handwired/ffkbhw/keymaps/sadekbaroudi/keymap.c similarity index 100% rename from keyboards/fingerpunch/handwired/ffkbhw/keymaps/sadekbaroudi/keymap.c rename to keyboards/fingerpunch/personal/handwired/ffkbhw/keymaps/sadekbaroudi/keymap.c diff --git a/keyboards/fingerpunch/handwired/ffkbhw/readme.md b/keyboards/fingerpunch/personal/handwired/ffkbhw/readme.md similarity index 100% rename from keyboards/fingerpunch/handwired/ffkbhw/readme.md rename to keyboards/fingerpunch/personal/handwired/ffkbhw/readme.md diff --git a/keyboards/fingerpunch/handwired/ffkbhw/rules.mk b/keyboards/fingerpunch/personal/handwired/ffkbhw/rules.mk similarity index 100% rename from keyboards/fingerpunch/handwired/ffkbhw/rules.mk rename to keyboards/fingerpunch/personal/handwired/ffkbhw/rules.mk diff --git a/keyboards/fingerpunch/handwired/pteron38/config.h b/keyboards/fingerpunch/personal/handwired/pteron38/config.h similarity index 100% rename from keyboards/fingerpunch/handwired/pteron38/config.h rename to keyboards/fingerpunch/personal/handwired/pteron38/config.h diff --git a/keyboards/fingerpunch/handwired/pteron38/info.json b/keyboards/fingerpunch/personal/handwired/pteron38/info.json similarity index 100% rename from keyboards/fingerpunch/handwired/pteron38/info.json rename to keyboards/fingerpunch/personal/handwired/pteron38/info.json diff --git a/keyboards/fingerpunch/handwired/pteron38/keymaps/default/keymap.c b/keyboards/fingerpunch/personal/handwired/pteron38/keymaps/default/keymap.c similarity index 100% rename from keyboards/fingerpunch/handwired/pteron38/keymaps/default/keymap.c rename to keyboards/fingerpunch/personal/handwired/pteron38/keymaps/default/keymap.c diff --git a/keyboards/fingerpunch/handwired/pteron38/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/personal/handwired/pteron38/keymaps/sadekbaroudi/keymap.c similarity index 100% rename from keyboards/fingerpunch/handwired/pteron38/keymaps/sadekbaroudi/keymap.c rename to keyboards/fingerpunch/personal/handwired/pteron38/keymaps/sadekbaroudi/keymap.c diff --git a/keyboards/fingerpunch/handwired/pteron38/pteron38.c b/keyboards/fingerpunch/personal/handwired/pteron38/pteron38.c similarity index 100% rename from keyboards/fingerpunch/handwired/pteron38/pteron38.c rename to keyboards/fingerpunch/personal/handwired/pteron38/pteron38.c diff --git a/keyboards/fingerpunch/handwired/pteron38/pteron38.h b/keyboards/fingerpunch/personal/handwired/pteron38/pteron38.h similarity index 100% rename from keyboards/fingerpunch/handwired/pteron38/pteron38.h rename to keyboards/fingerpunch/personal/handwired/pteron38/pteron38.h diff --git a/keyboards/fingerpunch/handwired/pteron38/readme.md b/keyboards/fingerpunch/personal/handwired/pteron38/readme.md similarity index 100% rename from keyboards/fingerpunch/handwired/pteron38/readme.md rename to keyboards/fingerpunch/personal/handwired/pteron38/readme.md diff --git a/keyboards/fingerpunch/handwired/pteron38/rules.mk b/keyboards/fingerpunch/personal/handwired/pteron38/rules.mk similarity index 100% rename from keyboards/fingerpunch/handwired/pteron38/rules.mk rename to keyboards/fingerpunch/personal/handwired/pteron38/rules.mk diff --git a/keyboards/fingerpunch/osprette/config.h b/keyboards/fingerpunch/personal/osprette/config.h similarity index 100% rename from keyboards/fingerpunch/osprette/config.h rename to keyboards/fingerpunch/personal/osprette/config.h diff --git a/keyboards/fingerpunch/osprette/keymaps/default/config.h b/keyboards/fingerpunch/personal/osprette/keymaps/default/config.h similarity index 100% rename from keyboards/fingerpunch/osprette/keymaps/default/config.h rename to keyboards/fingerpunch/personal/osprette/keymaps/default/config.h diff --git a/keyboards/fingerpunch/osprette/keymaps/default/keymap.c b/keyboards/fingerpunch/personal/osprette/keymaps/default/keymap.c similarity index 100% rename from keyboards/fingerpunch/osprette/keymaps/default/keymap.c rename to keyboards/fingerpunch/personal/osprette/keymaps/default/keymap.c diff --git a/keyboards/fingerpunch/osprette/keymaps/default/rules.mk b/keyboards/fingerpunch/personal/osprette/keymaps/default/rules.mk similarity index 100% rename from keyboards/fingerpunch/osprette/keymaps/default/rules.mk rename to keyboards/fingerpunch/personal/osprette/keymaps/default/rules.mk diff --git a/keyboards/fingerpunch/osprette/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/personal/osprette/keymaps/sadekbaroudi/keymap.c similarity index 100% rename from keyboards/fingerpunch/osprette/keymaps/sadekbaroudi/keymap.c rename to keyboards/fingerpunch/personal/osprette/keymaps/sadekbaroudi/keymap.c diff --git a/keyboards/fingerpunch/osprette/keymaps/smores56/config.h b/keyboards/fingerpunch/personal/osprette/keymaps/smores56/config.h similarity index 100% rename from keyboards/fingerpunch/osprette/keymaps/smores56/config.h rename to keyboards/fingerpunch/personal/osprette/keymaps/smores56/config.h diff --git a/keyboards/fingerpunch/osprette/keymaps/smores56/keymap.c b/keyboards/fingerpunch/personal/osprette/keymaps/smores56/keymap.c similarity index 100% rename from keyboards/fingerpunch/osprette/keymaps/smores56/keymap.c rename to keyboards/fingerpunch/personal/osprette/keymaps/smores56/keymap.c diff --git a/keyboards/fingerpunch/osprette/keymaps/smores56/rules.mk b/keyboards/fingerpunch/personal/osprette/keymaps/smores56/rules.mk similarity index 100% rename from keyboards/fingerpunch/osprette/keymaps/smores56/rules.mk rename to keyboards/fingerpunch/personal/osprette/keymaps/smores56/rules.mk diff --git a/keyboards/fingerpunch/osprette/osprette.c b/keyboards/fingerpunch/personal/osprette/osprette.c similarity index 100% rename from keyboards/fingerpunch/osprette/osprette.c rename to keyboards/fingerpunch/personal/osprette/osprette.c diff --git a/keyboards/fingerpunch/osprette/osprette.h b/keyboards/fingerpunch/personal/osprette/osprette.h similarity index 100% rename from keyboards/fingerpunch/osprette/osprette.h rename to keyboards/fingerpunch/personal/osprette/osprette.h diff --git a/keyboards/fingerpunch/osprette/rules.mk b/keyboards/fingerpunch/personal/osprette/rules.mk similarity index 100% rename from keyboards/fingerpunch/osprette/rules.mk rename to keyboards/fingerpunch/personal/osprette/rules.mk diff --git a/keyboards/fingerpunch/pinkiesout/config.h b/keyboards/fingerpunch/pinkiesout/config.h index dc4e9ffc5572..e1d0cb5a3f8f 100644 --- a/keyboards/fingerpunch/pinkiesout/config.h +++ b/keyboards/fingerpunch/pinkiesout/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . //#define DEVICE_VER 0x0001 // Now defined in the revX/config.h #define MANUFACTURER sadekbaroudi #define PRODUCT sadekbaroudi pinkiesout -#define DESCRIPTION sadekbaroudi pinkiesout /* key matrix size */ /* Rows are doubled up */ @@ -38,7 +37,6 @@ along with this program. If not, see . { B6, F4, B5, B4, B2, B3, B7, D5 } #define MATRIX_COL_PINS \ { D2, D4, C6, D7, E6, F5, F6, F7, B1 } -#define UNUSED_PINS /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 @@ -52,32 +50,23 @@ along with this program. If not, see . #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 - #define RGBLIGHT_LIMIT_VAL 60 /* The maximum brightness level for RGBLIGHT_ENABLE */ + #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level for RGBLIGHT_ENABLE */ #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 + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_TWINKLE #endif #ifdef RGB_MATRIX_ENABLE #define DRIVER_LED_TOTAL 66 #define RGB_MATRIX_CENTER {100, 32} - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 60 /* The maximum brightness level for RGB_MATRIX */ + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 /* The maximum brightness level for RGB_MATRIX */ #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -123,7 +112,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -//#define DYNAMIC_KEYMAP_LAYER_COUNT 5 #ifdef OLED_ENABLE #define OLED_DISPLAY_128X64 diff --git a/keyboards/fingerpunch/pinkiesout/fp_build.json b/keyboards/fingerpunch/pinkiesout/fp_build.json new file mode 100644 index 000000000000..839f6b383536 --- /dev/null +++ b/keyboards/fingerpunch/pinkiesout/fp_build.json @@ -0,0 +1,12 @@ +[ + { + "type" : "one-of", + "names" : [ "RGBLIGHT_ENABLE", "RGB_MATRIX_ENABLE" ], + "user_input": "No RGB, RGB light, RGB matrix?" + }, + { + "type" : "single", + "name" : "OLED_ENABLE", + "user_input": "Do you have an OLED?" + } +] \ No newline at end of file diff --git a/keyboards/fingerpunch/pinkiesout/keymaps/sadekbaroudi/rules.mk b/keyboards/fingerpunch/pinkiesout/keymaps/sadekbaroudi/rules.mk index 981196cd7e73..a892a8222e28 100644 --- a/keyboards/fingerpunch/pinkiesout/keymaps/sadekbaroudi/rules.mk +++ b/keyboards/fingerpunch/pinkiesout/keymaps/sadekbaroudi/rules.mk @@ -1,2 +1 @@ -OLED_DRIVER_ENABLE = yes OLED_ENABLE = yes \ No newline at end of file diff --git a/keyboards/fingerpunch/pinkiesout/no_features/config.h b/keyboards/fingerpunch/pinkiesout/no_features/config.h deleted file mode 100644 index d4903b376d72..000000000000 --- a/keyboards/fingerpunch/pinkiesout/no_features/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/pinkiesout/no_features/rules.mk b/keyboards/fingerpunch/pinkiesout/no_features/rules.mk deleted file mode 100644 index 1be0d0d7b369..000000000000 --- a/keyboards/fingerpunch/pinkiesout/no_features/rules.mk +++ /dev/null @@ -1,29 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/pinkiesout/oled/config.h b/keyboards/fingerpunch/pinkiesout/oled/config.h deleted file mode 100644 index 94472f300a80..000000000000 --- a/keyboards/fingerpunch/pinkiesout/oled/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/pinkiesout/oled/rules.mk b/keyboards/fingerpunch/pinkiesout/oled/rules.mk deleted file mode 100644 index 123064d22714..000000000000 --- a/keyboards/fingerpunch/pinkiesout/oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/pinkiesout/pinkiesout.h b/keyboards/fingerpunch/pinkiesout/pinkiesout.h index d8290145683f..812948fdaa79 100644 --- a/keyboards/fingerpunch/pinkiesout/pinkiesout.h +++ b/keyboards/fingerpunch/pinkiesout/pinkiesout.h @@ -45,3 +45,5 @@ { K61, ___, K63, K64, ___, K66, K67, K68, K69 }, \ { K71, K72, K73, ___, ___, K76, ___, K78, K79 } \ } + +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/pinkiesout/readme.md b/keyboards/fingerpunch/pinkiesout/readme.md index f47f7ed2b6e2..acd11f0e6b7c 100644 --- a/keyboards/fingerpunch/pinkiesout/readme.md +++ b/keyboards/fingerpunch/pinkiesout/readme.md @@ -6,14 +6,20 @@ An ergonomic 30% keyboard Pinkies Out supports vial! If you want to use Vial, go to https://github.com/sadekbaroudi/vial-qmk/keyboards/fingerpunch/pinkiesout/ -To build the firmware for this keyboard (after setting up your build environment), select from one of the following, depending on what features you have on your board: - - make fingerpunch/pinkiesout/no-features:default - make fingerpunch/pinkiesout/oled:default - make fingerpunch/pinkiesout/rgblight:default - make fingerpunch/pinkiesout/rgblight-oled:default - make fingerpunch/pinkiesout/rgbmatrix:default - make fingerpunch/pinkiesout/rgbmatrix-oled:default +To build the firmware for this keyboard (after setting up your build environment): +``` + make fingerpunch/pinkiesout:default RGBLIGHT_ENABLE=yes OLED_ENABLE=yes +``` + +Don't forget to add ```CONVERT_TO=stemcell``` if using a stemcell controller. + +Options are: +``` + RGBLIGHT_ENABLE=yes + RGB_MATRIX_ENABLE=yes + OLED_ENABLE=yes + PIMORONI_TRACKBALL_ENABLE=yes +``` If using the vial repository, use these: make fingerpunch/pinkiesout/no-features:vial diff --git a/keyboards/fingerpunch/pinkiesout/rgblight/config.h b/keyboards/fingerpunch/pinkiesout/rgblight/config.h deleted file mode 100644 index 64579bc0166d..000000000000 --- a/keyboards/fingerpunch/pinkiesout/rgblight/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/pinkiesout/rgblight/rules.mk b/keyboards/fingerpunch/pinkiesout/rgblight/rules.mk deleted file mode 100644 index e1a5e61510ae..000000000000 --- a/keyboards/fingerpunch/pinkiesout/rgblight/rules.mk +++ /dev/null @@ -1,29 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/pinkiesout/rgblight_oled/config.h b/keyboards/fingerpunch/pinkiesout/rgblight_oled/config.h deleted file mode 100644 index 771d83f52d42..000000000000 --- a/keyboards/fingerpunch/pinkiesout/rgblight_oled/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/pinkiesout/rgblight_oled/rules.mk b/keyboards/fingerpunch/pinkiesout/rgblight_oled/rules.mk deleted file mode 100644 index f04575f8a30f..000000000000 --- a/keyboards/fingerpunch/pinkiesout/rgblight_oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/pinkiesout/rgbmatrix/config.h b/keyboards/fingerpunch/pinkiesout/rgbmatrix/config.h deleted file mode 100644 index 7efaf36db9c0..000000000000 --- a/keyboards/fingerpunch/pinkiesout/rgbmatrix/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/pinkiesout/rgbmatrix/rules.mk b/keyboards/fingerpunch/pinkiesout/rgbmatrix/rules.mk deleted file mode 100644 index 694da383f76e..000000000000 --- a/keyboards/fingerpunch/pinkiesout/rgbmatrix/rules.mk +++ /dev/null @@ -1,29 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/pinkiesout/rgbmatrix_oled/config.h b/keyboards/fingerpunch/pinkiesout/rgbmatrix_oled/config.h deleted file mode 100644 index d2e1240e1ea3..000000000000 --- a/keyboards/fingerpunch/pinkiesout/rgbmatrix_oled/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/pinkiesout/rgbmatrix_oled/rules.mk b/keyboards/fingerpunch/pinkiesout/rgbmatrix_oled/rules.mk deleted file mode 100644 index 673e966c2a19..000000000000 --- a/keyboards/fingerpunch/pinkiesout/rgbmatrix_oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/pinkiesout/rules.mk b/keyboards/fingerpunch/pinkiesout/rules.mk index 789ca561b8c3..14e64579456d 100644 --- a/keyboards/fingerpunch/pinkiesout/rules.mk +++ b/keyboards/fingerpunch/pinkiesout/rules.mk @@ -25,8 +25,8 @@ NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality # Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER -#RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = yes +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 MIDI_ENABLE = no # MIDI support @@ -35,7 +35,7 @@ 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 ENCODER_ENABLE = no -OLED_ENABLE = yes +OLED_ENABLE = no # EXTRAFLAGS += -flto # macros disabled, if you need the extra space MOUSEKEY_ENABLE = no @@ -47,3 +47,12 @@ ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) QUANTUM_LIB_SRC += i2c_master.c OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE endif + +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/rockon/config.h b/keyboards/fingerpunch/rockon/config.h index a3831b2c996f..d98f23db0164 100644 --- a/keyboards/fingerpunch/rockon/config.h +++ b/keyboards/fingerpunch/rockon/config.h @@ -18,26 +18,12 @@ along with this program. If not, see . #pragma once #include "config_common.h" - /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEFE #define PRODUCT_ID 0x1200 //#define DEVICE_VER 0x0001 // Now defined in the vX/config.h #define MANUFACTURER sadekbaroudi #define PRODUCT sadekbaroudi rockon -#define DESCRIPTION sadekbaroudi rockon - -/* key matrix size */ -/* Rows are doubled up */ -#define MATRIX_ROWS 8 -#define MATRIX_COLS 9 - -// wiring -#define MATRIX_ROW_PINS \ - { B6, F4, B5, B4, B2, B3, B7, D5 } -#define MATRIX_COL_PINS \ - { D2, D4, C6, D7, E6, F5, F6, F7, B1 } -#define UNUSED_PINS /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 @@ -51,32 +37,23 @@ along with this program. If not, see . #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 - #define RGBLIGHT_LIMIT_VAL 60 /* The maximum brightness level for RGBLIGHT_ENABLE */ + #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level for RGBLIGHT_ENABLE */ #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 + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_TWINKLE #endif #ifdef RGB_MATRIX_ENABLE #define DRIVER_LED_TOTAL 66 #define RGB_MATRIX_CENTER {100, 32} - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 60 /* The maximum brightness level for RGB_MATRIX */ + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 /* The maximum brightness level for RGB_MATRIX */ #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -84,46 +61,40 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT - // #define ENABLE_RGB_MATRIX_BREATHING + #define ENABLE_RGB_MATRIX_BREATHING #define ENABLE_RGB_MATRIX_BAND_SAT #define ENABLE_RGB_MATRIX_BAND_VAL - // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT - // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL - // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT - // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL - // #define ENABLE_RGB_MATRIX_CYCLE_ALL - // #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT - // #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN - // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON - // #define ENABLE_RGB_MATRIX_DUAL_BEACON - // #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL - // #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL - // #define ENABLE_RGB_MATRIX_RAINBOW_BEACON - // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL + #define ENABLE_RGB_MATRIX_CYCLE_ALL + #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN + #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define ENABLE_RGB_MATRIX_DUAL_BEACON + #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL + #define ENABLE_RGB_MATRIX_RAINBOW_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS #define ENABLE_RGB_MATRIX_RAINDROPS - // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS #define ENABLE_RGB_MATRIX_DIGITAL_RAIN #define ENABLE_RGB_MATRIX_SOLID_REACTIVE #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS - // #define ENABLE_RGB_MATRIX_SPLASH - // #define ENABLE_RGB_MATRIX_MULTISPLASH - // #define ENABLE_RGB_MATRIX_SOLID_SPLASH - // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define ENABLE_RGB_MATRIX_SPLASH + #define ENABLE_RGB_MATRIX_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_SPLASH + #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif /* 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 - -//#define DYNAMIC_KEYMAP_LAYER_COUNT 5 - -#ifdef OLED_ENABLE -#define OLED_DISPLAY_128X64 -#endif diff --git a/keyboards/fingerpunch/rockon/rockon.c b/keyboards/fingerpunch/rockon/rockon.c index 27200bb45f6e..92af913b1c1f 100644 --- a/keyboards/fingerpunch/rockon/rockon.c +++ b/keyboards/fingerpunch/rockon/rockon.c @@ -14,37 +14,4 @@ * along with this program. If not, see . */ #include "rockon.h" -#ifdef RGB_MATRIX_ENABLE -led_config_t g_led_config = { { - { 1, 2, 3, 4, 5, 60, 61, 62, 63 }, - { 12, 11, 10, 9, 8, 57, 56, 55, 54 }, - { 15, 16, 17, 18, 19, 46, 47, 48, 49 }, - { 26, 25, 24, 23, 22, 43, 42, 41, 40 }, - { 28, 29, 30, 31, 32, 33, 34, 35, 36 }, - { 0, 21, 44, 64, NO_LED, 53, 50, 39, 37 }, - { 13, NO_LED, 6, 20, NO_LED, 59, 45, 51, 65 }, - { 14, 27, 7, NO_LED, NO_LED, 58, NO_LED, 38, 52 } -}, { - {7,1}, {21,1}, {36,2}, {51,1}, {65,5}, {79,10}, {93,14}, - {90,21}, {76,20}, {62,16}, {48,12}, {33,12}, {19,12}, {4,10}, - {2,20}, {16,22}, {31,23}, {46,23}, {60,27}, {74,31}, {88,35}, - {87,50}, {71,42}, {57,38}, {43,33}, {28,34}, {14,33}, {0,31}, - {25,46}, {40,48}, {56,51}, {70,56}, {84,63}, - {138,63}, {152,56}, {166,51}, {182,48}, {197,46}, {223,31}, {209,33}, - {200,34}, {179,33}, {165,38}, {151,42}, {135,50}, {134,35}, {148,31}, - {162,27}, {176,23}, {191,23}, {206,22}, {220,20}, {218,9}, {203,12}, - {189,12}, {174,12}, {160,16}, {146,20}, {132,24}, {129,14}, {143,10}, - {157,5}, {171,1}, {186,2}, {201,1}, {215,0} -}, { - 1, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 1, - 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 1 -} }; -#endif + diff --git a/keyboards/fingerpunch/rockon/rockon.h b/keyboards/fingerpunch/rockon/rockon.h index 7a10957266ff..c3ae1d13a69d 100644 --- a/keyboards/fingerpunch/rockon/rockon.h +++ b/keyboards/fingerpunch/rockon/rockon.h @@ -21,4 +21,8 @@ # include "v1.h" #elif defined(KEYBOARD_fingerpunch_rockon_v2) # include "v2.h" -#endif \ No newline at end of file +#elif defined(KEYBOARD_fingerpunch_rockon_v3) +# include "v3.h" +#endif + +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/rockon/rules.mk b/keyboards/fingerpunch/rockon/rules.mk new file mode 100644 index 000000000000..a55d4b419b85 --- /dev/null +++ b/keyboards/fingerpunch/rockon/rules.mk @@ -0,0 +1,8 @@ +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/rockon/v1/config.h b/keyboards/fingerpunch/rockon/v1/config.h index 2010ec3c7df2..20bc4b9d31e7 100644 --- a/keyboards/fingerpunch/rockon/v1/config.h +++ b/keyboards/fingerpunch/rockon/v1/config.h @@ -18,3 +18,18 @@ along with this program. If not, see . #pragma once #define DEVICE_VER 0x0001 + +/* key matrix size */ +/* Rows are doubled up */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 9 + +// wiring +#define MATRIX_ROW_PINS \ + { B6, F4, B5, B4, B2, B3, B7, D5 } +#define MATRIX_COL_PINS \ + { D2, D4, C6, D7, E6, F5, F6, F7, B1 } + +#ifdef OLED_ENABLE +#define OLED_DISPLAY_128X64 +#endif diff --git a/keyboards/fingerpunch/rockon/v1/fp_build.json b/keyboards/fingerpunch/rockon/v1/fp_build.json new file mode 100644 index 000000000000..839f6b383536 --- /dev/null +++ b/keyboards/fingerpunch/rockon/v1/fp_build.json @@ -0,0 +1,12 @@ +[ + { + "type" : "one-of", + "names" : [ "RGBLIGHT_ENABLE", "RGB_MATRIX_ENABLE" ], + "user_input": "No RGB, RGB light, RGB matrix?" + }, + { + "type" : "single", + "name" : "OLED_ENABLE", + "user_input": "Do you have an OLED?" + } +] \ No newline at end of file diff --git a/keyboards/fingerpunch/rockon/v1/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/rockon/v1/keymaps/sadekbaroudi/keymap.c index 71e017fc2378..21dd52b34156 100644 --- a/keyboards/fingerpunch/rockon/v1/keymaps/sadekbaroudi/keymap.c +++ b/keyboards/fingerpunch/rockon/v1/keymaps/sadekbaroudi/keymap.c @@ -40,9 +40,9 @@ ) \ LAYOUT_wrapper( \ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, TO(_KICAD), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ - KC_TAB, K01, K02, K03, LT(_FUNCTION, K04), K05, _______, TO(_NAVIGATION), K06, LT(_FUNCTION, K07), K08, K09, K0A, KC_BSLS, \ - KC_CAPS, LCTL_T(K11), LGUI_T(K12), LALT_T(K13), LSFT_T(K14), K15, _______, TO(_ALPHA), LT(_MOUSE, K16), RSFT_T(K17), RALT_T(K18), RGUI_T(K19), RCTL_T(K1A), KC_QUOT, \ - KC_LSFT, K21, K22, K23, K24, K25, _______, _______, K26, K27, K28, K29, K2A, KC_ENT, \ + KC_TAB, K01, K02, K03, LT(_FUNCTION, K04), K05, FP_SCROLL_TOG, TO(_NAVIGATION), K06, LT(_FUNCTION, K07), K08, K09, K0A, KC_BSLS, \ + KC_CAPS, LCTL_T(K11), LGUI_T(K12), LALT_T(K13), LSFT_T(K14), K15, KC_MS_BTN1, TO(_ALPHA), LT(_MOUSE, K16), RSFT_T(K17), RALT_T(K18), RGUI_T(K19), RCTL_T(K1A), KC_QUOT, \ + KC_LSFT, K21, K22, K23, K24, K25, FP_SNIPE_TOG, FP_SUPER_TAB, K26, K27, K28, K29, K2A, KC_ENT, \ KC_LCTL, KC_LGUI, K33, LT(_NAVIGATION,K34), LT(_FUNCTION,K35), LT(_MEDIA,K36), LT(_SYMBOLS,K37), K38, KC_RGUI, KC_RCTL \ ) @@ -96,12 +96,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, ___________________RGB_3___________________, _______, _______, _________________MACROS_3__________________, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - + [_MOUSE] = LAYOUT_wrapper( _______, _______, _______, _______, _______, _______, _______, TO(_MEDIA), _______, _______, _______, _______, _______, _______, - _______, __________________MOUSE_1__________________, _______, TO(_GAME), ___________________BLANK___________________, _______, - _______, __________________MOUSE_2__________________, _______, _______, ___________________BLANK___________________, _______, - _______, __________________MOUSE_3__________________, _______, _______, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_1________________, _______, TO(_GAME), ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_2________________, _______, _______, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_3________________, _______, _______, ___________________BLANK___________________, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN3, KC_MS_BTN2, _______, _______, _______ ), @@ -127,74 +127,74 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; -} +} static void render_logo(void) { // rockon logo, 128x64px static const char PROGMEM rockon_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xe0, 0xf8, 0xfc, 0x1e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x3e, 0xfc, 0xf8, 0xe0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfe, 0xff, 0x7f, - 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xef, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7f, 0x78, - 0x38, 0x38, 0x70, 0x70, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0x1f, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfc, - 0x1c, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x1e, 0x1c, 0x1c, 0x38, 0x38, 0x78, 0x70, 0xf0, 0xe0, 0xe0, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1f, 0x3f, - 0x78, 0x70, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0xf8, 0xff, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1e, 0x1c, 0x7c, 0xf8, 0xf0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, - 0xe0, 0xf8, 0x7e, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x0f, 0x1f, 0x7e, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf8, 0x7f, 0x3f, - 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xf8, 0xfc, 0x1e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x3e, 0xfc, 0xf8, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfe, 0xff, 0x7f, + 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xef, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7f, 0x78, + 0x38, 0x38, 0x70, 0x70, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0x1f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfc, + 0x1c, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x1e, 0x1c, 0x1c, 0x38, 0x38, 0x78, 0x70, 0xf0, 0xe0, 0xe0, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1f, 0x3f, + 0x78, 0x70, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xf8, 0xff, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1e, 0x1c, 0x7c, 0xf8, 0xf0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, + 0xe0, 0xf8, 0x7e, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x0f, 0x1f, 0x7e, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf8, 0x7f, 0x3f, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; @@ -247,53 +247,53 @@ void render_status(void) { // rockon logo, 128x48px static const char rockon_logo_small [] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xf8, 0xfc, 0x0e, 0x07, 0x03, 0x03, 0x03, 0x07, 0x0e, 0xfc, 0xf8, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x70, - 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x08, 0xf8, 0x10, 0x08, 0x08, 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0x08, 0x08, - 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x80, 0xc0, 0x28, 0x18, 0x08, 0x08, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x04, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x01, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x60, 0xf8, 0xfc, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x0e, 0x0c, 0x1c, 0x18, 0x18, - 0x38, 0x70, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x1c, 0x18, 0x38, 0x30, 0x70, 0x60, 0xe0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf8, 0x7f, 0x0f, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x41, 0x3e, 0x00, 0x00, 0x00, 0x80, 0xff, 0x81, 0x00, 0x00, 0x00, 0x80, - 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x07, 0x1f, 0x7c, 0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0x7e, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0xfc, 0x0e, 0x07, 0x03, 0x03, 0x03, 0x07, 0x0e, 0xfc, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x70, + 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x08, 0xf8, 0x10, 0x08, 0x08, 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0x08, 0x08, + 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x80, 0xc0, 0x28, 0x18, 0x08, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x04, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x01, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x60, 0xf8, 0xfc, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x0e, 0x0c, 0x1c, 0x18, 0x18, + 0x38, 0x70, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x1c, 0x18, 0x38, 0x30, 0x70, 0x60, 0xe0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf8, 0x7f, 0x0f, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x41, 0x3e, 0x00, 0x00, 0x00, 0x80, 0xff, 0x81, 0x00, 0x00, 0x00, 0x80, + 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x07, 0x1f, 0x7c, 0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0x7e, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; oled_write_raw_P(rockon_logo_small, sizeof(rockon_logo_small)); diff --git a/keyboards/fingerpunch/rockon/v1/keymaps/sadekbaroudi/rules.mk b/keyboards/fingerpunch/rockon/v1/keymaps/sadekbaroudi/rules.mk index 981196cd7e73..a892a8222e28 100644 --- a/keyboards/fingerpunch/rockon/v1/keymaps/sadekbaroudi/rules.mk +++ b/keyboards/fingerpunch/rockon/v1/keymaps/sadekbaroudi/rules.mk @@ -1,2 +1 @@ -OLED_DRIVER_ENABLE = yes OLED_ENABLE = yes \ No newline at end of file diff --git a/keyboards/fingerpunch/rockon/v1/no_features/config.h b/keyboards/fingerpunch/rockon/v1/no_features/config.h deleted file mode 100644 index d4903b376d72..000000000000 --- a/keyboards/fingerpunch/rockon/v1/no_features/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v1/no_features/rules.mk b/keyboards/fingerpunch/rockon/v1/no_features/rules.mk deleted file mode 100644 index 1be0d0d7b369..000000000000 --- a/keyboards/fingerpunch/rockon/v1/no_features/rules.mk +++ /dev/null @@ -1,29 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v1/oled/config.h b/keyboards/fingerpunch/rockon/v1/oled/config.h deleted file mode 100644 index 94472f300a80..000000000000 --- a/keyboards/fingerpunch/rockon/v1/oled/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v1/oled/rules.mk b/keyboards/fingerpunch/rockon/v1/oled/rules.mk deleted file mode 100644 index 123064d22714..000000000000 --- a/keyboards/fingerpunch/rockon/v1/oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v1/readme.md b/keyboards/fingerpunch/rockon/v1/readme.md index 3ce2104191ab..80b0d201e39e 100644 --- a/keyboards/fingerpunch/rockon/v1/readme.md +++ b/keyboards/fingerpunch/rockon/v1/readme.md @@ -6,14 +6,19 @@ An ergonomic 30% keyboard Rock On supports vial! If you want to use Vial, go to https://github.com/sadekbaroudi/vial-qmk/keyboards/fingerpunch/rockon/v1/ -To build the firmware for this keyboard (after setting up your build environment), select from one of the following, depending on what features you have on your board: +To build the firmware for this keyboard (after setting up your build environment): +``` + make fingerpunch/rockon/v1:default RGBLIGHT_ENABLE=yes OLED_ENABLE=yes +``` - make fingerpunch/rockon/v1/no-features:default - make fingerpunch/rockon/v1/oled:default - make fingerpunch/rockon/v1/rgblight:default - make fingerpunch/rockon/v1/rgblight-oled:default - make fingerpunch/rockon/v1/rgbmatrix:default - make fingerpunch/rockon/v1/rgbmatrix-oled:default +Don't forget to add ```CONVERT_TO=stemcell``` if using a stemcell controller. + +Options are: +``` + RGBLIGHT_ENABLE=yes + RGB_MATRIX_ENABLE=yes + OLED_ENABLE=yes +``` If using the vial repository, use these: make fingerpunch/rockon/v1/no-features:vial @@ -23,12 +28,4 @@ If using the vial repository, use these: make fingerpunch/rockon/v1/rgbmatrix:vial make fingerpunch/rockon/v1/rgbmatrix-oled:vial -Example of flashing this keyboard: - - make fingerpunch/rockon/v1/no-features:default:flash - -Or in the vial repository: - - make fingerpunch/rockon/v1/no-features:vial:flash - 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). diff --git a/keyboards/fingerpunch/rockon/v1/rgblight/config.h b/keyboards/fingerpunch/rockon/v1/rgblight/config.h deleted file mode 100644 index 64579bc0166d..000000000000 --- a/keyboards/fingerpunch/rockon/v1/rgblight/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v1/rgblight/rules.mk b/keyboards/fingerpunch/rockon/v1/rgblight/rules.mk deleted file mode 100644 index e1a5e61510ae..000000000000 --- a/keyboards/fingerpunch/rockon/v1/rgblight/rules.mk +++ /dev/null @@ -1,29 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v1/rgblight_oled/config.h b/keyboards/fingerpunch/rockon/v1/rgblight_oled/config.h deleted file mode 100644 index 771d83f52d42..000000000000 --- a/keyboards/fingerpunch/rockon/v1/rgblight_oled/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/rockon/v1/rgblight_oled/rules.mk b/keyboards/fingerpunch/rockon/v1/rgblight_oled/rules.mk deleted file mode 100644 index f04575f8a30f..000000000000 --- a/keyboards/fingerpunch/rockon/v1/rgblight_oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v1/rgbmatrix/config.h b/keyboards/fingerpunch/rockon/v1/rgbmatrix/config.h deleted file mode 100644 index 7efaf36db9c0..000000000000 --- a/keyboards/fingerpunch/rockon/v1/rgbmatrix/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v1/rgbmatrix/rules.mk b/keyboards/fingerpunch/rockon/v1/rgbmatrix/rules.mk deleted file mode 100644 index 694da383f76e..000000000000 --- a/keyboards/fingerpunch/rockon/v1/rgbmatrix/rules.mk +++ /dev/null @@ -1,29 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v1/rgbmatrix_oled/config.h b/keyboards/fingerpunch/rockon/v1/rgbmatrix_oled/config.h deleted file mode 100644 index d2e1240e1ea3..000000000000 --- a/keyboards/fingerpunch/rockon/v1/rgbmatrix_oled/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v1/rgbmatrix_oled/rules.mk b/keyboards/fingerpunch/rockon/v1/rgbmatrix_oled/rules.mk deleted file mode 100644 index 673e966c2a19..000000000000 --- a/keyboards/fingerpunch/rockon/v1/rgbmatrix_oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v1/rules.mk b/keyboards/fingerpunch/rockon/v1/rules.mk index b75838dd0d86..b3c714b9ff63 100644 --- a/keyboards/fingerpunch/rockon/v1/rules.mk +++ b/keyboards/fingerpunch/rockon/v1/rules.mk @@ -25,8 +25,8 @@ NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality # Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER -#RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = yes +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 MIDI_ENABLE = no # MIDI support @@ -35,6 +35,6 @@ 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 ENCODER_ENABLE = no -OLED_ENABLE = yes +OLED_ENABLE = no # EXTRAFLAGS += -flto # macros disabled, if you need the extra space MOUSEKEY_ENABLE = no diff --git a/keyboards/fingerpunch/rockon/v1/v1.c b/keyboards/fingerpunch/rockon/v1/v1.c new file mode 100644 index 000000000000..33fd0488dc10 --- /dev/null +++ b/keyboards/fingerpunch/rockon/v1/v1.c @@ -0,0 +1,52 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ + +#include "v1.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 1, 2, 3, 4, 5, 60, 61, 62, 63 }, + { 12, 11, 10, 9, 8, 57, 56, 55, 54 }, + { 15, 16, 17, 18, 19, 46, 47, 48, 49 }, + { 26, 25, 24, 23, 22, 43, 42, 41, 40 }, + { 28, 29, 30, 31, 32, 33, 34, 35, 36 }, + { 0, 21, 44, 64, NO_LED, 53, 50, 39, 37 }, + { 13, NO_LED, 6, 20, NO_LED, 59, 45, 51, 65 }, + { 14, 27, 7, NO_LED, NO_LED, 58, NO_LED, 38, 52 } +}, { + {7,1}, {21,1}, {36,2}, {51,1}, {65,5}, {79,10}, {93,14}, + {90,21}, {76,20}, {62,16}, {48,12}, {33,12}, {19,12}, {4,10}, + {2,20}, {16,22}, {31,23}, {46,23}, {60,27}, {74,31}, {88,35}, + {87,50}, {71,42}, {57,38}, {43,33}, {28,34}, {14,33}, {0,31}, + {25,46}, {40,48}, {56,51}, {70,56}, {84,63}, + {138,63}, {152,56}, {166,51}, {182,48}, {197,46}, {223,31}, {209,33}, + {200,34}, {179,33}, {165,38}, {151,42}, {135,50}, {134,35}, {148,31}, + {162,27}, {176,23}, {191,23}, {206,22}, {220,20}, {218,9}, {203,12}, + {189,12}, {174,12}, {160,16}, {146,20}, {132,24}, {129,14}, {143,10}, + {157,5}, {171,1}, {186,2}, {201,1}, {215,0} +}, { + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1 +} }; +#endif diff --git a/keyboards/fingerpunch/rockon/v2/cirque/config.h b/keyboards/fingerpunch/rockon/v2/cirque/config.h deleted file mode 100644 index 6715cc84b5d6..000000000000 --- a/keyboards/fingerpunch/rockon/v2/cirque/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_CIRQUE -#define XOIVIOX_CIRQUE -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/cirque/rules.mk b/keyboards/fingerpunch/rockon/v2/cirque/rules.mk deleted file mode 100644 index 94fdcee2771d..000000000000 --- a/keyboards/fingerpunch/rockon/v2/cirque/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = no -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/cirque_ec11/config.h b/keyboards/fingerpunch/rockon/v2/cirque_ec11/config.h deleted file mode 100644 index 6715cc84b5d6..000000000000 --- a/keyboards/fingerpunch/rockon/v2/cirque_ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_CIRQUE -#define XOIVIOX_CIRQUE -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/cirque_ec11/rules.mk b/keyboards/fingerpunch/rockon/v2/cirque_ec11/rules.mk deleted file mode 100644 index 65a6380f8813..000000000000 --- a/keyboards/fingerpunch/rockon/v2/cirque_ec11/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = yes -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/cirque_oled/config.h b/keyboards/fingerpunch/rockon/v2/cirque_oled/config.h deleted file mode 100644 index 0a35ebf668b1..000000000000 --- a/keyboards/fingerpunch/rockon/v2/cirque_oled/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_CIRQUE -#define XOIVIOX_CIRQUE -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/cirque_oled/rules.mk b/keyboards/fingerpunch/rockon/v2/cirque_oled/rules.mk deleted file mode 100644 index 6ce6407980d0..000000000000 --- a/keyboards/fingerpunch/rockon/v2/cirque_oled/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/cirque_oled_ec11/config.h b/keyboards/fingerpunch/rockon/v2/cirque_oled_ec11/config.h deleted file mode 100644 index 0a35ebf668b1..000000000000 --- a/keyboards/fingerpunch/rockon/v2/cirque_oled_ec11/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#ifndef XOIVIOX_CIRQUE -#define XOIVIOX_CIRQUE -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/cirque_oled_ec11/rules.mk b/keyboards/fingerpunch/rockon/v2/cirque_oled_ec11/rules.mk deleted file mode 100644 index 2bda66ca467b..000000000000 --- a/keyboards/fingerpunch/rockon/v2/cirque_oled_ec11/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/config.h b/keyboards/fingerpunch/rockon/v2/config.h index ccc71e53abe5..a373f06e7914 100644 --- a/keyboards/fingerpunch/rockon/v2/config.h +++ b/keyboards/fingerpunch/rockon/v2/config.h @@ -19,18 +19,34 @@ along with this program. If not, see . #define DEVICE_VER 0x0002 +/* key matrix size */ +/* Rows are doubled up */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 9 + +// wiring +#define MATRIX_ROW_PINS \ + { B6, F4, B5, B4, B2, B3, B7, D5 } +#define MATRIX_COL_PINS \ + { D2, D4, C6, D7, E6, F5, F6, F7, B1 } + + /* encoder config */ #define ENCODERS_PAD_A {F0, C7} #define ENCODERS_PAD_B {F1, F1} #define ENCODER_RESOLUTION 2 -// cirque trackpad config -#define CIRQUE_PINNACLE_ADDR 0x2A -// If using fingerpunch case -// #define POINTING_DEVICE_ROTATION_270 -// If using chewiedies case -#define POINTING_DEVICE_ROTATION_90 -#define POINTING_DEVICE_TASK_THROTTLE_MS 5 +#ifdef CIRQUE_ENABLE + #define CIRQUE_PINNACLE_ADDR 0x2A + #define POINTING_DEVICE_ROTATION_90 + // If using fingerpunch case + // #define POINTING_DEVICE_ROTATION_270 + // If using chewiedies case + #define CIRQUE_PINNACLE_TAP_ENABLE + #define POINTING_DEVICE_TASK_THROTTLE_MS 5 + #define I2C1_CLOCK_SPEED 400000 + #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 +#endif // BEGIN PWM driver: uncomment if using STeMcell as it's a better led driver // #define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 @@ -44,17 +60,6 @@ along with this program. If not, see . #define I2C1_CLOCK_SPEED 400000 #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 -// #define CIRQUE_PINNACLE_TAPPING_TERM 150 -// #define CIRQUE_PINNACLE_TOUCH_DEBOUNCE 100 -// #define CIRQUE_PINNACLE_X_LOWER 200 -// #define CIRQUE_PINNACLE_X_UPPER 1919 -// #define CIRQUE_PINNACLE_Y_LOWER 200 -// #define CIRQUE_PINNACLE_Y_UPPER 1471 - -// Known issue with the cirque and AVR, jumpy mouse movements... -// message from sillyworld 01/31/2022 stating that these improved usability for AVR based MCUs on the cirque -// https://discord.com/channels/440868230475677696/867530303261114398/937731130440970260 -//#define F_SCL 100000UL -//#define POINTING_DEVICE_TASK_THROTTLE_MS 5 - -// Sadek note: tried the above for the cirque fix, and no dice \ No newline at end of file +#ifdef OLED_ENABLE +#define OLED_DISPLAY_128X64 +#endif diff --git a/keyboards/fingerpunch/rockon/v2/ec11/config.h b/keyboards/fingerpunch/rockon/v2/ec11/config.h deleted file mode 100644 index d4903b376d72..000000000000 --- a/keyboards/fingerpunch/rockon/v2/ec11/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/ec11/rules.mk b/keyboards/fingerpunch/rockon/v2/ec11/rules.mk deleted file mode 100644 index ac83c7e1dad4..000000000000 --- a/keyboards/fingerpunch/rockon/v2/ec11/rules.mk +++ /dev/null @@ -1,16 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/fp_build.json b/keyboards/fingerpunch/rockon/v2/fp_build.json new file mode 100644 index 000000000000..21936ccb31d7 --- /dev/null +++ b/keyboards/fingerpunch/rockon/v2/fp_build.json @@ -0,0 +1,31 @@ +[ + { + "type" : "convert-to", + "name" : "stemcell" + }, + { + "type" : "single", + "name" : "CIRQUE_ENABLE", + "user_input": "Do you have a cirque?" + }, + { + "type" : "one-of", + "names" : [ "RGBLIGHT_ENABLE", "RGB_MATRIX_ENABLE" ], + "user_input": "No RGB, RGB light, RGB matrix?" + }, + { + "type" : "single", + "name" : "OLED_ENABLE", + "user_input": "Do you have an OLED?" + }, + { + "type" : "single", + "name" : "ENCODER_ENABLE", + "user_input": "Do you have one or more rotary encoders?" + }, + { + "type" : "single", + "name" : "PIMORONI_TRACKBALL_ENABLE", + "user_input": "Do you have a pimoroni trackball?" + } +] diff --git a/keyboards/fingerpunch/rockon/v2/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/rockon/v2/keymaps/sadekbaroudi/keymap.c index d89d7784fd9d..ead602efe896 100644 --- a/keyboards/fingerpunch/rockon/v2/keymaps/sadekbaroudi/keymap.c +++ b/keyboards/fingerpunch/rockon/v2/keymaps/sadekbaroudi/keymap.c @@ -40,9 +40,9 @@ ) \ LAYOUT_wrapper( \ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, TO(_KICAD), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ - KC_TAB, K01, K02, K03, LT(_FUNCTION, K04), K05, KC_MS_BTN3, TO(_NAVIGATION), K06, LT(_FUNCTION, K07), K08, K09, K0A, KC_BSLS, \ + KC_TAB, K01, K02, K03, LT(_FUNCTION, K04), K05, FP_SCROLL_TOG, TO(_NAVIGATION), K06, LT(_FUNCTION, K07), K08, K09, K0A, KC_BSLS, \ KC_CAPS, LCTL_T(K11), LGUI_T(K12), LALT_T(K13), LSFT_T(K14), K15, KC_MS_BTN1, TO(_ALPHA), LT(_MOUSE, K16), RSFT_T(K17), RALT_T(K18), RGUI_T(K19), RCTL_T(K1A), KC_QUOT, \ - KC_LSFT, K21, K22, K23, K24, K25, KC_MS_BTN2, _______, K26, K27, K28, K29, K2A, KC_ENT, \ + KC_LSFT, K21, K22, K23, K24, K25, FP_SNIPE_TOG, FP_SUPER_TAB, K26, K27, K28, K29, K2A, KC_ENT, \ KC_LCTL, KC_LGUI, K33, LT(_NAVIGATION,K34), LT(_FUNCTION,K35), KC_MUTE, LCTL(KC_BSPC), LT(_MEDIA,K36), LT(_SYMBOLS,K37), K38, KC_RGUI, KC_RCTL \ ) @@ -96,12 +96,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, ___________________RGB_3___________________, _______, _______, _________________MACROS_3__________________, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - + [_MOUSE] = LAYOUT_wrapper( _______, _______, _______, _______, _______, _______, _______, TO(_MEDIA), _______, _______, _______, _______, _______, _______, - _______, __________________MOUSE_1__________________, _______, TO(_GAME), ___________________BLANK___________________, _______, - _______, __________________MOUSE_2__________________, _______, _______, ___________________BLANK___________________, _______, - _______, __________________MOUSE_3__________________, _______, _______, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_1________________, _______, TO(_GAME), ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_2________________, _______, _______, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_3________________, _______, _______, ___________________BLANK___________________, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_BTN3, _______, _______, KC_MS_BTN3, KC_MS_BTN2, _______, _______, _______ ), @@ -127,74 +127,74 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; -} +} static void render_logo(void) { // rockon logo, 128x64px static const char PROGMEM rockon_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xe0, 0xf8, 0xfc, 0x1e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x3e, 0xfc, 0xf8, 0xe0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfe, 0xff, 0x7f, - 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xef, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7f, 0x78, - 0x38, 0x38, 0x70, 0x70, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0x1f, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfc, - 0x1c, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x1e, 0x1c, 0x1c, 0x38, 0x38, 0x78, 0x70, 0xf0, 0xe0, 0xe0, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1f, 0x3f, - 0x78, 0x70, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0xf8, 0xff, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1e, 0x1c, 0x7c, 0xf8, 0xf0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, - 0xe0, 0xf8, 0x7e, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x0f, 0x1f, 0x7e, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf8, 0x7f, 0x3f, - 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xf8, 0xfc, 0x1e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x3e, 0xfc, 0xf8, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfe, 0xff, 0x7f, + 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xef, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7f, 0x78, + 0x38, 0x38, 0x70, 0x70, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0x1f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfc, + 0x1c, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x1e, 0x1c, 0x1c, 0x38, 0x38, 0x78, 0x70, 0xf0, 0xe0, 0xe0, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1f, 0x3f, + 0x78, 0x70, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xf8, 0xff, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1e, 0x1c, 0x7c, 0xf8, 0xf0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, + 0xe0, 0xf8, 0x7e, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x0f, 0x1f, 0x7e, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf8, 0x7f, 0x3f, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; @@ -247,53 +247,53 @@ void render_status(void) { // rockon logo, 128x48px static const char rockon_logo_small [] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xf8, 0xfc, 0x0e, 0x07, 0x03, 0x03, 0x03, 0x07, 0x0e, 0xfc, 0xf8, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x70, - 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x08, 0xf8, 0x10, 0x08, 0x08, 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0x08, 0x08, - 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x80, 0xc0, 0x28, 0x18, 0x08, 0x08, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x04, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x01, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x60, 0xf8, 0xfc, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x0e, 0x0c, 0x1c, 0x18, 0x18, - 0x38, 0x70, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x1c, 0x18, 0x38, 0x30, 0x70, 0x60, 0xe0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf8, 0x7f, 0x0f, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x41, 0x3e, 0x00, 0x00, 0x00, 0x80, 0xff, 0x81, 0x00, 0x00, 0x00, 0x80, - 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x07, 0x1f, 0x7c, 0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0x7e, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0xfc, 0x0e, 0x07, 0x03, 0x03, 0x03, 0x07, 0x0e, 0xfc, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x70, + 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x08, 0xf8, 0x10, 0x08, 0x08, 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0x08, 0x08, + 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x80, 0xc0, 0x28, 0x18, 0x08, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x04, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x01, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x60, 0xf8, 0xfc, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x0e, 0x0c, 0x1c, 0x18, 0x18, + 0x38, 0x70, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x1c, 0x18, 0x38, 0x30, 0x70, 0x60, 0xe0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf8, 0x7f, 0x0f, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x41, 0x3e, 0x00, 0x00, 0x00, 0x80, 0xff, 0x81, 0x00, 0x00, 0x00, 0x80, + 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x07, 0x1f, 0x7c, 0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0x7e, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; oled_write_raw_P(rockon_logo_small, sizeof(rockon_logo_small)); diff --git a/keyboards/fingerpunch/rockon/v2/no_features/config.h b/keyboards/fingerpunch/rockon/v2/no_features/config.h deleted file mode 100644 index d4903b376d72..000000000000 --- a/keyboards/fingerpunch/rockon/v2/no_features/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/no_features/rules.mk b/keyboards/fingerpunch/rockon/v2/no_features/rules.mk deleted file mode 100644 index 1be0d0d7b369..000000000000 --- a/keyboards/fingerpunch/rockon/v2/no_features/rules.mk +++ /dev/null @@ -1,29 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/oled/config.h b/keyboards/fingerpunch/rockon/v2/oled/config.h deleted file mode 100644 index 94472f300a80..000000000000 --- a/keyboards/fingerpunch/rockon/v2/oled/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/oled/rules.mk b/keyboards/fingerpunch/rockon/v2/oled/rules.mk deleted file mode 100644 index 123064d22714..000000000000 --- a/keyboards/fingerpunch/rockon/v2/oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/oled_ec11/config.h b/keyboards/fingerpunch/rockon/v2/oled_ec11/config.h deleted file mode 100644 index 94472f300a80..000000000000 --- a/keyboards/fingerpunch/rockon/v2/oled_ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/oled_ec11/rules.mk b/keyboards/fingerpunch/rockon/v2/oled_ec11/rules.mk deleted file mode 100644 index 18db16e53b67..000000000000 --- a/keyboards/fingerpunch/rockon/v2/oled_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/readme.md b/keyboards/fingerpunch/rockon/v2/readme.md index 3ce2104191ab..def7688c62f2 100644 --- a/keyboards/fingerpunch/rockon/v2/readme.md +++ b/keyboards/fingerpunch/rockon/v2/readme.md @@ -7,28 +7,30 @@ An ergonomic 30% keyboard Rock On supports vial! If you want to use Vial, go to https://github.com/sadekbaroudi/vial-qmk/keyboards/fingerpunch/rockon/v1/ To build the firmware for this keyboard (after setting up your build environment), select from one of the following, depending on what features you have on your board: - - make fingerpunch/rockon/v1/no-features:default - make fingerpunch/rockon/v1/oled:default - make fingerpunch/rockon/v1/rgblight:default - make fingerpunch/rockon/v1/rgblight-oled:default - make fingerpunch/rockon/v1/rgbmatrix:default - make fingerpunch/rockon/v1/rgbmatrix-oled:default - -If using the vial repository, use these: - make fingerpunch/rockon/v1/no-features:vial - make fingerpunch/rockon/v1/oled:vial - make fingerpunch/rockon/v1/rgblight:vial - make fingerpunch/rockon/v1/rgblight-oled:vial - make fingerpunch/rockon/v1/rgbmatrix:vial - make fingerpunch/rockon/v1/rgbmatrix-oled:vial +``` + make fingerpunch/rockon/v2:default RGBLIGHT_ENABLE=yes ENCODER_ENABLE=yes CIRQUE_ENABLE=yes OLED_ENABLE=yes +``` + +Don't forget to add ```CONVERT_TO=stemcell``` if using a stemcell controller. + +Options are: +``` + CIRQUE_ENABLE=yes + RGBLIGHT_ENABLE=yes + RGB_MATRIX_ENABLE=yes + OLED_ENABLE=yes + ENCODER_ENABLE=yes + PIMORONI_TRACKBALL_ENABLE=yes +``` Example of flashing this keyboard: - - make fingerpunch/rockon/v1/no-features:default:flash +``` + make fingerpunch/rockon/v2:default:flash RGBLIGHT_ENABLE=yes ENCODER_ENABLE=yes CIRQUE_ENABLE=yes +``` Or in the vial repository: - - make fingerpunch/rockon/v1/no-features:vial:flash +``` + make fingerpunch/rockon/v2/no-features:vial:flash +``` 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). diff --git a/keyboards/fingerpunch/rockon/v2/rgblight/config.h b/keyboards/fingerpunch/rockon/v2/rgblight/config.h deleted file mode 100644 index 64579bc0166d..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgblight/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/rgblight/rules.mk b/keyboards/fingerpunch/rockon/v2/rgblight/rules.mk deleted file mode 100644 index e1a5e61510ae..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgblight/rules.mk +++ /dev/null @@ -1,29 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/rgblight_cirque/config.h b/keyboards/fingerpunch/rockon/v2/rgblight_cirque/config.h deleted file mode 100644 index 6715cc84b5d6..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgblight_cirque/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_CIRQUE -#define XOIVIOX_CIRQUE -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/rgblight_cirque/rules.mk b/keyboards/fingerpunch/rockon/v2/rgblight_cirque/rules.mk deleted file mode 100644 index 05467e348590..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgblight_cirque/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = no -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/rgblight_cirque_ec11/config.h b/keyboards/fingerpunch/rockon/v2/rgblight_cirque_ec11/config.h deleted file mode 100644 index 6715cc84b5d6..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgblight_cirque_ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_CIRQUE -#define XOIVIOX_CIRQUE -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/rgblight_cirque_ec11/rules.mk b/keyboards/fingerpunch/rockon/v2/rgblight_cirque_ec11/rules.mk deleted file mode 100644 index 22cd87039f23..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgblight_cirque_ec11/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = yes -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/rgblight_ec11/config.h b/keyboards/fingerpunch/rockon/v2/rgblight_ec11/config.h deleted file mode 100644 index 64579bc0166d..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgblight_ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/rgblight_ec11/rules.mk b/keyboards/fingerpunch/rockon/v2/rgblight_ec11/rules.mk deleted file mode 100644 index 0efff70855a1..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgblight_ec11/rules.mk +++ /dev/null @@ -1,16 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/rgblight_oled/config.h b/keyboards/fingerpunch/rockon/v2/rgblight_oled/config.h deleted file mode 100644 index 771d83f52d42..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgblight_oled/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/rockon/v2/rgblight_oled/rules.mk b/keyboards/fingerpunch/rockon/v2/rgblight_oled/rules.mk deleted file mode 100644 index f04575f8a30f..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgblight_oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/rgblight_oled_ec11/config.h b/keyboards/fingerpunch/rockon/v2/rgblight_oled_ec11/config.h deleted file mode 100644 index 771d83f52d42..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgblight_oled_ec11/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/rockon/v2/rgblight_oled_ec11/rules.mk b/keyboards/fingerpunch/rockon/v2/rgblight_oled_ec11/rules.mk deleted file mode 100644 index 7bfa3a1c6386..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgblight_oled_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/rgbmatrix/config.h b/keyboards/fingerpunch/rockon/v2/rgbmatrix/config.h deleted file mode 100644 index 7efaf36db9c0..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgbmatrix/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/rgbmatrix/rules.mk b/keyboards/fingerpunch/rockon/v2/rgbmatrix/rules.mk deleted file mode 100644 index 694da383f76e..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgbmatrix/rules.mk +++ /dev/null @@ -1,29 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/rgbmatrix_cirque/config.h b/keyboards/fingerpunch/rockon/v2/rgbmatrix_cirque/config.h deleted file mode 100644 index 6715cc84b5d6..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgbmatrix_cirque/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_CIRQUE -#define XOIVIOX_CIRQUE -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/rgbmatrix_cirque/rules.mk b/keyboards/fingerpunch/rockon/v2/rgbmatrix_cirque/rules.mk deleted file mode 100644 index 9f168fd4a073..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgbmatrix_cirque/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = no -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/rgbmatrix_cirque_ec11/config.h b/keyboards/fingerpunch/rockon/v2/rgbmatrix_cirque_ec11/config.h deleted file mode 100644 index 6715cc84b5d6..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgbmatrix_cirque_ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_CIRQUE -#define XOIVIOX_CIRQUE -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/rgbmatrix_cirque_ec11/rules.mk b/keyboards/fingerpunch/rockon/v2/rgbmatrix_cirque_ec11/rules.mk deleted file mode 100644 index 1f97a8e9d97b..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgbmatrix_cirque_ec11/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -ENCODER_ENABLE = yes -CIRQUE_ENABLE = yes -MOUSEKEY_ENABLE = yes - -ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -endif - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/rgbmatrix_ec11/config.h b/keyboards/fingerpunch/rockon/v2/rgbmatrix_ec11/config.h deleted file mode 100644 index 7efaf36db9c0..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgbmatrix_ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/rgbmatrix_ec11/rules.mk b/keyboards/fingerpunch/rockon/v2/rgbmatrix_ec11/rules.mk deleted file mode 100644 index d4d2db92b5ee..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgbmatrix_ec11/rules.mk +++ /dev/null @@ -1,16 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/rgbmatrix_oled/config.h b/keyboards/fingerpunch/rockon/v2/rgbmatrix_oled/config.h deleted file mode 100644 index d2e1240e1ea3..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgbmatrix_oled/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/rgbmatrix_oled/rules.mk b/keyboards/fingerpunch/rockon/v2/rgbmatrix_oled/rules.mk deleted file mode 100644 index 673e966c2a19..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgbmatrix_oled/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/rgbmatrix_oled_ec11/config.h b/keyboards/fingerpunch/rockon/v2/rgbmatrix_oled_ec11/config.h deleted file mode 100644 index d2e1240e1ea3..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgbmatrix_oled_ec11/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon/v2/rgbmatrix_oled_ec11/rules.mk b/keyboards/fingerpunch/rockon/v2/rgbmatrix_oled_ec11/rules.mk deleted file mode 100644 index 6afc22e0481a..000000000000 --- a/keyboards/fingerpunch/rockon/v2/rgbmatrix_oled_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon/v2/rules.mk b/keyboards/fingerpunch/rockon/v2/rules.mk index 4715f7644fc4..64367c983fad 100644 --- a/keyboards/fingerpunch/rockon/v2/rules.mk +++ b/keyboards/fingerpunch/rockon/v2/rules.mk @@ -25,8 +25,8 @@ NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality # Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER -#RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = yes +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 # BEGIN PWM driver: uncomment if using STeMcell as it's a better led driver @@ -39,6 +39,20 @@ 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 ENCODER_ENABLE = no -OLED_ENABLE = yes +OLED_ENABLE = no # EXTRAFLAGS += -flto # macros disabled, if you need the extra space -MOUSEKEY_ENABLE = no + +ifeq ($(strip $(CIRQUE_ENABLE)), yes) + MOUSEKEY_ENABLE := yes # not required, but enabling for mouse button keys + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := cirque_pinnacle_i2c + OPT_DEFS += -DCIRQUE_ENABLE +endif + +PIMORONI_TRACKBALL_ENABLE = no +ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) + MOUSEKEY_ENABLE := yes # not required, but enabling for mouse button keys + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := pimoroni_trackball + OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE +endif diff --git a/keyboards/fingerpunch/rockon/v2/v2.c b/keyboards/fingerpunch/rockon/v2/v2.c new file mode 100644 index 000000000000..5c9aa441a9b4 --- /dev/null +++ b/keyboards/fingerpunch/rockon/v2/v2.c @@ -0,0 +1,52 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ + +#include "v2.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 1, 2, 3, 4, 5, 60, 61, 62, 63 }, + { 12, 11, 10, 9, 8, 57, 56, 55, 54 }, + { 15, 16, 17, 18, 19, 46, 47, 48, 49 }, + { 26, 25, 24, 23, 22, 43, 42, 41, 40 }, + { 28, 29, 30, 31, 32, 33, 34, 35, 36 }, + { 0, 21, 44, 64, NO_LED, 53, 50, 39, 37 }, + { 13, NO_LED, 6, 20, NO_LED, 59, 45, 51, 65 }, + { 14, 27, 7, NO_LED, NO_LED, 58, NO_LED, 38, 52 } +}, { + {7,1}, {21,1}, {36,2}, {51,1}, {65,5}, {79,10}, {93,14}, + {90,21}, {76,20}, {62,16}, {48,12}, {33,12}, {19,12}, {4,10}, + {2,20}, {16,22}, {31,23}, {46,23}, {60,27}, {74,31}, {88,35}, + {87,50}, {71,42}, {57,38}, {43,33}, {28,34}, {14,33}, {0,31}, + {25,46}, {40,48}, {56,51}, {70,56}, {84,63}, + {138,63}, {152,56}, {166,51}, {182,48}, {197,46}, {223,31}, {209,33}, + {200,34}, {179,33}, {165,38}, {151,42}, {135,50}, {134,35}, {148,31}, + {162,27}, {176,23}, {191,23}, {206,22}, {220,20}, {218,9}, {203,12}, + {189,12}, {174,12}, {160,16}, {146,20}, {132,24}, {129,14}, {143,10}, + {157,5}, {171,1}, {186,2}, {201,1}, {215,0} +}, { + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1 +} }; +#endif diff --git a/keyboards/fingerpunch/rockon/v3/config.h b/keyboards/fingerpunch/rockon/v3/config.h new file mode 100644 index 000000000000..9b07b8470e30 --- /dev/null +++ b/keyboards/fingerpunch/rockon/v3/config.h @@ -0,0 +1,82 @@ +/* +Copyright 2021 Sadek Baroudi + +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 . +*/ + +#pragma once + +#define DEVICE_VER 0x0003 + + +/* key matrix size */ +/* Rows are doubled up */ +#define MATRIX_ROWS 9 +#define MATRIX_COLS 8 + +// SHIFT REGISTER +// Only needed for matrix_74hc595_spi.c +#define SHIFTREG_MATRIX_COL_CS B6 +#define SHIFTREG_DIVISOR 8 // needs to be the same as the PMW33XX_CS_DIVISOR below +#define MATRIX_ROW_PINS_SR { D4, C6, D7, E6, B4, F4, F5, F6, F7 } + +#define RGB_DI_PIN D3 +#ifdef RGBLIGHT_ENABLE + #ifdef RGBLED_NUM + #undef RGBLED_NUM + #endif + #define RGBLED_NUM 69 +#endif + +#ifdef RGB_MATRIX_ENABLE + #ifdef DRIVER_LED_TOTAL + #undef DRIVER_LED_TOTAL + #endif + #define DRIVER_LED_TOTAL 69 +#endif + +// SPI config for shift register (and trackball if enabled) +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN B1 +#define SPI_SCK_PAL_MODE 5 +#define SPI_MOSI_PIN B2 +#define SPI_MOSI_PAL_MODE 5 +#define SPI_MISO_PIN B3 +#define SPI_MISO_PAL_MODE 5 + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define ENCODERS_PAD_A {C7, D5, F1} +#define ENCODERS_PAD_B {D2, B7, F0} + +#ifdef CIRQUE_ENABLE + // cirque trackpad config + #define CIRQUE_PINNACLE_ADDR 0x2A + #define POINTING_DEVICE_ROTATION_90 + #define CIRQUE_PINNACLE_TAP_ENABLE + #define POINTING_DEVICE_TASK_THROTTLE_MS 5 + #define I2C1_CLOCK_SPEED 400000 + #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 +#endif + +#ifdef FP_TRACKBALL_ENABLE + // Trackball config + #define FP_POINTING_DEFAULT_DPI 800 + #define PMW33XX_CS_PIN B5 + #define PMW33XX_CPI FP_POINTING_DEFAULT_DPI + #define PMW33XX_CS_DIVISOR 8 // needs to be the same as the SHIFTREG_DIVISOR above + #define POINTING_DEVICE_INVERT_Y +#endif + diff --git a/keyboards/fingerpunch/rockon/v3/fp_build.json b/keyboards/fingerpunch/rockon/v3/fp_build.json new file mode 100644 index 000000000000..6009b5b1023d --- /dev/null +++ b/keyboards/fingerpunch/rockon/v3/fp_build.json @@ -0,0 +1,26 @@ +[ + { + "type" : "convert-to", + "name" : "stemcell" + }, + { + "type" : "single", + "name" : "CIRQUE_ENABLE", + "user_input": "Do you have a cirque?" + }, + { + "type" : "single", + "name" : "FP_TRACKBALL_ENABLE", + "user_input": "Do you have a trackball?" + }, + { + "type" : "one-of", + "names" : [ "RGBLIGHT_ENABLE", "RGB_MATRIX_ENABLE" ], + "user_input": "No RGB, RGB light, RGB matrix?" + }, + { + "type" : "single", + "name" : "ENCODER_ENABLE", + "user_input": "Do you have one or more rotary encoders?" + } +] diff --git a/keyboards/fingerpunch/rockon/v3/halconf.h b/keyboards/fingerpunch/rockon/v3/halconf.h new file mode 100644 index 000000000000..ad85b85967ff --- /dev/null +++ b/keyboards/fingerpunch/rockon/v3/halconf.h @@ -0,0 +1,30 @@ +// BEGIN SADEK PWM LED testing +/* Copyright 2020 QMK + * + * 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confupdate -i keyboards/tkw/grandiceps/halconf.h -r platforms/chibios/BLACKPILL_STM32_F411/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_SERIAL TRUE +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/fingerpunch/rockon/v3/keymaps/default/keymap.c b/keyboards/fingerpunch/rockon/v3/keymaps/default/keymap.c new file mode 100644 index 000000000000..ddafd6a4eefe --- /dev/null +++ b/keyboards/fingerpunch/rockon/v3/keymaps/default/keymap.c @@ -0,0 +1,107 @@ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _QWERTY, + _COLEMAK, + _LOWER, + _RAISE, + _ADJUST +}; + +enum custom_keycodes { + QWERTY = SAFE_RANGE, + LOWER, + RAISE, + ADJUST +}; + +// All the KC_MUTE keycodes below represent the encoders. If you aren't using encoders, you can ignore these: +// --> KC_MUTE, KC_LCTL, KC_LGUI, LOWER, KC_SPC, KC_LALT, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, KC_RALT, KC_SPC, RAISE, KC_RGUI, KC_RCTL, KC_MUTE, <-- +// --> KC_MUTE <-- +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_QWERTY] = LAYOUT_rockon( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LPRN, KC_RPRN, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LCBR, KC_RCBR, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ADJUST, ADJUST, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_MUTE, KC_LCTL, KC_LGUI, LOWER, KC_SPC, KC_LALT, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, KC_RALT, KC_SPC, RAISE, KC_RGUI, KC_RCTL, KC_MUTE, + KC_MUTE +), + + +[_COLEMAK] = LAYOUT_rockon( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LPRN, KC_RPRN, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, + KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_G, KC_LCBR, KC_RCBR, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, ADJUST, ADJUST, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_MUTE, KC_LCTL, KC_LGUI, LOWER, KC_SPC, KC_LALT, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, KC_RALT, KC_SPC, RAISE, KC_RGUI, KC_RCTL, KC_MUTE, + KC_MUTE +), + + +[_LOWER] = LAYOUT_rockon( + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______ +), + +[_RAISE] = LAYOUT_rockon( + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______, + _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______ +), + +[_ADJUST] = LAYOUT_rockon( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, RGB_TOG, RGB_RMOD, RGB_MOD, _______, TG(_QWERTY), _______, _______, _______, _______, _______, KC_F11, KC_F12, _______, + _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, TG(_COLEMAK), _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______ +) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case ADJUST: + if (record->event.pressed) { + layer_on(_ADJUST); + } else { + layer_off(_ADJUST); + } + return false; + break; + default: + break; + } + + return true; +} diff --git a/keyboards/fingerpunch/rockon/v3/keymaps/sadekbaroudi/config.h b/keyboards/fingerpunch/rockon/v3/keymaps/sadekbaroudi/config.h new file mode 100644 index 000000000000..88f6e06237fc --- /dev/null +++ b/keyboards/fingerpunch/rockon/v3/keymaps/sadekbaroudi/config.h @@ -0,0 +1,2 @@ +// #define FP_LAYER_LIGHTING_HUE_0 HSV_YELLOW +// #define FP_LAYER_LIGHTING_HUE_4 HSV_BLUE diff --git a/keyboards/fingerpunch/rockon/v3/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/rockon/v3/keymaps/sadekbaroudi/keymap.c new file mode 100644 index 000000000000..2da0c901d019 --- /dev/null +++ b/keyboards/fingerpunch/rockon/v3/keymaps/sadekbaroudi/keymap.c @@ -0,0 +1,120 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ + +#include "sadekbaroudi.h" +#include QMK_KEYBOARD_H + +// Uncomment to set up WPM +//char wpm_as_str[8]; + +/* + * The `LAYOUT_rockon_bp_base` macro is a template to allow the use of identical + * modifiers for the default layouts (eg ALPHA_ALT, Alpha, Dvorak, etc), so + * that there is no need to set them up for each layout, and modify all of + * them if I want to change them. This helps to keep consistency and ease + * of use. K## is a placeholder to pass through the individual keycodes + */ + +// clang-format off +#define LAYOUT_rockon_bp_base( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \ + K33, K34, K35, K36, K37, K38 \ + ) \ + LAYOUT_wrapper( \ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, TO(_GAME), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ + KC_TAB, K01, K02, K03, LT(_FUNCTION, K04), K05, FP_SCROLL_TOG, TO(_NAVIGATION), K06, LT(_FUNCTION, K07), K08, K09, K0A, KC_BSLS, \ + KC_CAPS, LCTL_T(K11), LGUI_T(K12), LALT_T(K13), LSFT_T(K14), K15, KC_MS_BTN1, TO(_ALPHA), LT(_MOUSE, K16), RSFT_T(K17), RALT_T(K18), RGUI_T(K19), RCTL_T(K1A), KC_QUOT, \ + KC_LSFT, K21, K22, K23, K24, K25, FP_SNIPE_TOG, FP_SUPER_TAB, K26, K27, K28, K29, K2A, KC_ENT, \ + KC_MUTE, KC_LCTL, KC_LGUI, K33, LT(_NAVIGATION,K34), LT(_FUNCTION,K35), KC_MS_BTN3, KC_MS_BTN1, KC_MS_BTN2, LT(_MEDIA,K36), LT(_SYMBOLS,K37), K38, KC_RGUI, KC_RCTL, KC_MUTE, \ + KC_MUTE \ + ) + +/* Re-pass though to allow templates to be used */ +#define LAYOUT_rockon_bp_base_wrapper(...) LAYOUT_rockon_bp_base(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_ALPHA_ALT] = LAYOUT_rockon_bp_base_wrapper( + _________________ALPHA_ALT_L1_________________, _________________ALPHA_ALT_R1_________________, + _________________ALPHA_ALT_L2_________________, _________________ALPHA_ALT_R2_________________, + _________________ALPHA_ALT_L3_________________, _________________ALPHA_ALT_R3_________________, + __ALPHA_ALT_THUMBS_6__ + ), + + [_ALPHA] = LAYOUT_rockon_bp_base_wrapper( + __________________ALPHA_L1____________________, __________________ALPHA_R1____________________, + __________________ALPHA_L2____________________, __________________ALPHA_R2____________________, + __________________ALPHA_L3____________________, __________________ALPHA_R3____________________, + __ALPHA_THUMBS_6__ + ), + + [_NAVIGATION] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _______, TO(_ALPHA), _______, _______, _______, _______, _______, _______, + _______, ________________NAVIGATION_1_______________, _______, TO(_SYMBOLS), _________________NUMPAD_1__________________, _______, + _______, ________________NAVIGATION_2_______________, _______, _______, _________________NUMPAD_2__________________, _______, + _______, ________________NAVIGATION_3_______________, _______, _______, _________________NUMPAD_3__________________, _______, + _______, _______, _______, _______, _______, KC_TAB, _______, _______, _______, KC_BSPC, KC_SPACE, KC_DOT, _______, _______, _______, + _______ + ), + + [_SYMBOLS] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _______, TO(_NAVIGATION), _______, _______, _______, _______, _______, _______, + _______, ________________SYMBOLS_L1_________________, _______, TO(_FUNCTION), ________________SYMBOLS_R1_________________, _______, + _______, ________________SYMBOLS_L2_________________, _______, _______, ________________SYMBOLS_R2_________________, _______, + _______, ________________SYMBOLS_L3_________________, _______, _______, ________________SYMBOLS_R3_________________, _______, + _______, _______, _______, _______, KC_ENT, KC_DEL, _______, _______, _______, KC_BSPC, _______, _______, _______, _______, _______, + _______ + ), + + [_FUNCTION] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _______, TO(_SYMBOLS), _______, _______, _______, _______, _______, _______, + _______, ________________SHIFTNAV_1_________________, KC_MS_WH_UP, TO(_MEDIA), ________________FUNCTION_1_________________, _______, + _______, ________________SHIFTNAV_2_________________, KC_MS_WH_DOWN, _______, ________________FUNCTION_2_________________, _______, + _______, ________________SHIFTNAV_3_________________, _______, _______, ________________FUNCTION_3_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, N_DEL_LINE, KC_SPACE, _______, _______, _______, _______, + _______ + ), + + [_MEDIA] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _______, TO(_FUNCTION), _______, _______, _______, _______, _______, _______, + _______, ___________________RGB_1___________________, _______, TO(_GAME), _________________MACROS_1__________________, _______, + _______, ___________________RGB_2___________________, _______, _______, _________________MACROS_2__________________, _______, + _______, ___________________RGB_3___________________, _______, _______, _________________MACROS_3__________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______ + ), + + [_MOUSE] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______, _______, _______, _______, + _______, _______________AUTO_MOUSE_1________________, _______, KC_NO, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_2________________, _______, _______, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_3________________, _______, _______, ___________________BLANK___________________, _______, + _______, _______, _______, _______, KC_MS_BTN1, KC_MS_BTN3, _______, _______, _______, KC_MS_BTN3, KC_MS_BTN2, _______, _______, _______, _______, + _______ + ), + + [_GAME] = LAYOUT_wrapper( + __GAMES_R0_L__, ___________________GAMES_0_________________, __GAMES_R0_R__, TO(_MEDIA), _______, _______, _______, _______, _______, _______, + __GAMES_R1_L__, ___________________GAMES_1_________________, __GAMES_R1_R__, TO(_ALPHA), ___________________BLANK___________________, _______, + __GAMES_R2_L__, ___________________GAMES_2_________________, __GAMES_R2_R__, _______, ___________________BLANK___________________, _______, + __GAMES_R3_L__, ___________________GAMES_3_________________, __GAMES_R3_R__, _______, ___________________BLANK___________________, _______, + _______, __GAMES_R4_1__, __GAMES_R4_3__, __GAMES_TH_L__, __GAMES_TH_C__, __GAMES_TH_R__, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______ + ) +}; + diff --git a/keyboards/fingerpunch/rockon/v3/mcuconf.h b/keyboards/fingerpunch/rockon/v3/mcuconf.h new file mode 100644 index 000000000000..b83dc6104256 --- /dev/null +++ b/keyboards/fingerpunch/rockon/v3/mcuconf.h @@ -0,0 +1,46 @@ +/* Copyright 2020 QMK + * + * 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confupdate -i keyboards/tkw/grandiceps/mcuconf.h -r platforms/chibios/BLACKPILL_STM32_F411/configs/mcuconf.h` + */ + +#pragma once + +#include_next "mcuconf.h" + +#undef STM32_SPI_USE_SPI0 +#define STM32_SPI_USE_SPI0 TRUE + +// Added because of this error at compile time +/* +Compiling: keyboards/fingerpunch/ffkb_byomcu/v3/matrix_74hc595_spi.c In file included from ./lib/chibios/os/hal/include/hal_spi_v2.h:146:0, + from ./lib/chibios/os/hal/include/hal_spi.h:31, + from ./lib/chibios/os/hal/include/hal.h:315, + from platforms/chibios/platform_deps.h:18, + from quantum/quantum.h:18, + from keyboards/fingerpunch/ffkb_byomcu/v3/matrix_74hc595_spi.c:3: +./lib/chibios/os/hal/ports/STM32/LLD/SPIv1/hal_spi_v2_lld.h:282:2: error: #error "SPI driver activated but no SPI peripheral assigned" + #error "SPI driver activated but no SPI peripheral assigned" + ^~~~~ + [ERRORS] +*/ +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE + +#undef STM32_ST_USE_TIMER +#define STM32_ST_USE_TIMER 5 diff --git a/keyboards/fingerpunch/rockon/v3/readme.md b/keyboards/fingerpunch/rockon/v3/readme.md new file mode 100644 index 000000000000..c29a4df1be22 --- /dev/null +++ b/keyboards/fingerpunch/rockon/v3/readme.md @@ -0,0 +1,28 @@ +# rockon + +An ergonomic 70% keyboard + +* Keyboard Maintainer: [sadekbaroudi](https://github.com/sadekbaroudi) + +To build the firmware for this keyboard (after setting up your build environment), select from one of the following, depending on what features you have on your board: +``` + make fingerpunch/rockon/v3:default RGBLIGHT_ENABLE=yes ENCODER_ENABLE=yes CIRQUE_ENABLE=yes +``` + +Don't forget to add ```CONVERT_TO=stemcell``` if using a stemcell controller. + +Options are: +``` + CIRQUE_ENABLE=yes + FP_TRACKBALL_ENABLE=yes + RGBLIGHT_ENABLE=yes + RGB_MATRIX_ENABLE=yes + ENCODER_ENABLE=yes +``` + +Example of flashing this keyboard: +``` + make fingerpunch/rockon/v3:default:flash RGBLIGHT_ENABLE=yes ENCODER_ENABLE=yes CIRQUE_ENABLE=yes +``` + +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). diff --git a/keyboards/fingerpunch/rockon/v3/rules.mk b/keyboards/fingerpunch/rockon/v3/rules.mk new file mode 100644 index 000000000000..4165e3c1b140 --- /dev/null +++ b/keyboards/fingerpunch/rockon/v3/rules.mk @@ -0,0 +1,59 @@ +# 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 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +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 +MOUSEKEY_ENABLE = yes + +# Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no +RGB_MATRIX_DRIVER = WS2812 + +MIDI_ENABLE = no # MIDI support +UNICODE_ENABLE = no # Unicode +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 +ENCODER_ENABLE = no +# EXTRAFLAGS += -flto # macros disabled, if you need the extra space +MOUSEKEY_ENABLE = no + +SRC += keyboards/fingerpunch/fp_matrix_74hc595_spi.c +QUANTUM_LIB_SRC += spi_master.c +CUSTOM_MATRIX = lite + +ifeq ($(strip $(CIRQUE_ENABLE)), yes) + MOUSEKEY_ENABLE := yes # not required, but enabling for mouse button keys + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := cirque_pinnacle_i2c + OPT_DEFS += -DCIRQUE_ENABLE +endif + +ifeq ($(strip $(FP_TRACKBALL_ENABLE)), yes) + MOUSEKEY_ENABLE := yes # not required, but enabling for mouse button keys + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := pmw3360 + QUANTUM_LIB_SRC += spi_master.c + OPT_DEFS += -DFP_TRACKBALL_ENABLE +endif diff --git a/keyboards/fingerpunch/rockon/v3/v3.c b/keyboards/fingerpunch/rockon/v3/v3.c new file mode 100644 index 000000000000..05d2d2df4b30 --- /dev/null +++ b/keyboards/fingerpunch/rockon/v3/v3.c @@ -0,0 +1,55 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ + +#include "v3.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 65, 3, 5, 63, 64, 4, 2, 1 }, + { 58, 10, 8, 60, 59, 9, 11, 12 }, + { 51, 17, 19, 49, 50, 18, 16, 15 }, + { 44, 24, 22, 46, 45, 23, 25, 26 }, + { 38, 30, 32, 36, 37, 31, 29, 28 }, + { 42, 47, 34, 56, 53, 67, 21, 0 }, + { 54, 6, 35, 62, 48, 20, 33, 13 }, + { 41, 7, NO_LED, 61, NO_LED, NO_LED, 27, 14 }, + { 55, 52, 39, 40, 68, 43, 57, 66 } +}, { + {7,1}, {21,1}, {36,2}, {51,1}, {65,5}, {79,10}, {93,14}, + {90,21}, {76,20}, {62,16}, {48,12}, {33,12}, {19,12}, {4,10}, + {2,20}, {16,22}, {31,23}, {46,23}, {60,27}, {74,31}, {88,35}, + {87,50}, {71,42}, {57,38}, {43,33}, {28,34}, {14,33}, {0,31}, + {25,46}, {40,48}, {56,51}, {70,56}, {84,63}, + {99,64}, {112,64}, {125,64}, + {138,63}, {152,56}, {166,51}, {182,48}, {197,46}, {223,31}, {209,33}, + {200,34}, {179,33}, {165,38}, {151,42}, {135,50}, {134,35}, {148,31}, + {162,27}, {176,23}, {191,23}, {206,22}, {220,20}, {218,9}, {203,12}, + {189,12}, {174,12}, {160,16}, {146,20}, {132,24}, {129,14}, {143,10}, + {157,5}, {171,1}, {186,2}, {201,1}, {215,0} +}, { + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, + 1, 1, 1, + 1, 1, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1 +} }; +#endif diff --git a/keyboards/fingerpunch/rockon/v3/v3.h b/keyboards/fingerpunch/rockon/v3/v3.h new file mode 100644 index 000000000000..953a9f155ba3 --- /dev/null +++ b/keyboards/fingerpunch/rockon/v3/v3.h @@ -0,0 +1,62 @@ +/* Copyright 2021 Sadek Baroudi + * + * 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 . + */ +#pragma once + +#include "quantum.h" + +/* This 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 ___ KC_NO + +#define LAYOUT_rockon( \ + K50, K00, K01, K02, K03, K04, K62, K65, K05, K06, K07, K80, K53, K86, \ + K60, K10, K11, K12, K13, K14, K72, K75, K15, K16, K17, K81, K55, K87, \ + K70, K20, K21, K22, K23, K24, K63, K66, K25, K26, K27, K82, K56, K67, \ + K71, K30, K31, K32, K33, K34, K51, K52, K35, K36, K37, K83, K57, K77, \ + K76, K40, K41, K42, K43, K44, K61, K54, K64, K45, K46, K47, K84, K85, K73, \ + K74 \ +) \ +{ \ + { K07, K02, K04, K05, K06, K03, K01, K00 }, \ + { K17, K12, K14, K15, K16, K13, K11, K10 }, \ + { K27, K22, K24, K25, K26, K23, K21, K20 }, \ + { K37, K32, K34, K35, K36, K33, K31, K30 }, \ + { K47, K42, K44, K45, K46, K43, K41, K40 }, \ + { K57, K52, K54, K55, K56, K53, K51, K50 }, \ + { K67, K62, K64, K65, K66, K63, K61, K60 }, \ + { K77, K72, K74, K75, K76, K73, K71, K70 }, \ + { K87, K82, K84, K85, K86, K83, K81, K80 } \ +} +/* +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37 }, \ + { K40, K41, K42, K43, K44, K45, K46, K47 }, \ + { K50, K51, K52, K53, K54, K55, K56, K57 }, \ + { K60, K61, K62, K63, K64, K65, K66, K67 }, \ + { K70, K71, K72, K73, K74, K75, K76, K77 }, \ + { K80, K81, K82, K83, K84, K85, K86, K87 } \ +} +*/ diff --git a/keyboards/fingerpunch/rockon_bp/config.h b/keyboards/fingerpunch/rockon_bp/config.h index 8a1eb2642f65..854584fb175e 100644 --- a/keyboards/fingerpunch/rockon_bp/config.h +++ b/keyboards/fingerpunch/rockon_bp/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . //#define DEVICE_VER 0x0001 // Now defined in the revX/config.h #define MANUFACTURER sadekbaroudi #define PRODUCT sadekbaroudi rockon_bp -#define DESCRIPTION sadekbaroudi rockon_bp /* key matrix size */ /* Rows are doubled up */ @@ -36,7 +35,6 @@ along with this program. If not, see . // wiring #define MATRIX_ROW_PINS { A2, B1, B5, B4, A3, A4, B8, B9 } #define MATRIX_COL_PINS { A10, C15, C14, A15, B3, B0, A7, A6, A5 } -#define UNUSED_PINS /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 @@ -78,24 +76,15 @@ along with this program. If not, see . #define RGBLIGHT_VAL_STEP 16 #define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level for RGBLIGHT_ENABLE */ #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 + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_TWINKLE #endif #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/fingerpunch/rockon_bp/ec11/config.h b/keyboards/fingerpunch/rockon_bp/ec11/config.h deleted file mode 100644 index d4903b376d72..000000000000 --- a/keyboards/fingerpunch/rockon_bp/ec11/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon_bp/ec11/rules.mk b/keyboards/fingerpunch/rockon_bp/ec11/rules.mk deleted file mode 100644 index ac83c7e1dad4..000000000000 --- a/keyboards/fingerpunch/rockon_bp/ec11/rules.mk +++ /dev/null @@ -1,16 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon_bp/fp_build.json b/keyboards/fingerpunch/rockon_bp/fp_build.json new file mode 100644 index 000000000000..b30bf093fdf9 --- /dev/null +++ b/keyboards/fingerpunch/rockon_bp/fp_build.json @@ -0,0 +1,27 @@ +[ + { + "type" : "single", + "name" : "CIRQUE_ENABLE", + "user_input": "Do you have a cirque?" + }, + { + "type" : "one-of", + "names" : [ "RGBLIGHT_ENABLE", "RGB_MATRIX_ENABLE" ], + "user_input": "No RGB, RGB light, RGB matrix?" + }, + { + "type" : "single", + "name" : "OLED_ENABLE", + "user_input": "Do you have an OLED?" + }, + { + "type" : "single", + "name" : "ENCODER_ENABLE", + "user_input": "Do you have one or more rotary encoders?" + }, + { + "type" : "single", + "name" : "PIMORONI_TRACKBALL_ENABLE", + "user_input": "Do you have a pimoroni trackball?" + } +] \ No newline at end of file diff --git a/keyboards/fingerpunch/rockon_bp/keymaps/sadekbaroudi/keymap.c b/keyboards/fingerpunch/rockon_bp/keymaps/sadekbaroudi/keymap.c index d89d7784fd9d..ead602efe896 100644 --- a/keyboards/fingerpunch/rockon_bp/keymaps/sadekbaroudi/keymap.c +++ b/keyboards/fingerpunch/rockon_bp/keymaps/sadekbaroudi/keymap.c @@ -40,9 +40,9 @@ ) \ LAYOUT_wrapper( \ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, TO(_KICAD), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ - KC_TAB, K01, K02, K03, LT(_FUNCTION, K04), K05, KC_MS_BTN3, TO(_NAVIGATION), K06, LT(_FUNCTION, K07), K08, K09, K0A, KC_BSLS, \ + KC_TAB, K01, K02, K03, LT(_FUNCTION, K04), K05, FP_SCROLL_TOG, TO(_NAVIGATION), K06, LT(_FUNCTION, K07), K08, K09, K0A, KC_BSLS, \ KC_CAPS, LCTL_T(K11), LGUI_T(K12), LALT_T(K13), LSFT_T(K14), K15, KC_MS_BTN1, TO(_ALPHA), LT(_MOUSE, K16), RSFT_T(K17), RALT_T(K18), RGUI_T(K19), RCTL_T(K1A), KC_QUOT, \ - KC_LSFT, K21, K22, K23, K24, K25, KC_MS_BTN2, _______, K26, K27, K28, K29, K2A, KC_ENT, \ + KC_LSFT, K21, K22, K23, K24, K25, FP_SNIPE_TOG, FP_SUPER_TAB, K26, K27, K28, K29, K2A, KC_ENT, \ KC_LCTL, KC_LGUI, K33, LT(_NAVIGATION,K34), LT(_FUNCTION,K35), KC_MUTE, LCTL(KC_BSPC), LT(_MEDIA,K36), LT(_SYMBOLS,K37), K38, KC_RGUI, KC_RCTL \ ) @@ -96,12 +96,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, ___________________RGB_3___________________, _______, _______, _________________MACROS_3__________________, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - + [_MOUSE] = LAYOUT_wrapper( _______, _______, _______, _______, _______, _______, _______, TO(_MEDIA), _______, _______, _______, _______, _______, _______, - _______, __________________MOUSE_1__________________, _______, TO(_GAME), ___________________BLANK___________________, _______, - _______, __________________MOUSE_2__________________, _______, _______, ___________________BLANK___________________, _______, - _______, __________________MOUSE_3__________________, _______, _______, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_1________________, _______, TO(_GAME), ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_2________________, _______, _______, ___________________BLANK___________________, _______, + _______, _______________AUTO_MOUSE_3________________, _______, _______, ___________________BLANK___________________, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_BTN3, _______, _______, KC_MS_BTN3, KC_MS_BTN2, _______, _______, _______ ), @@ -127,74 +127,74 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; -} +} static void render_logo(void) { // rockon logo, 128x64px static const char PROGMEM rockon_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xe0, 0xf8, 0xfc, 0x1e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x3e, 0xfc, 0xf8, 0xe0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfe, 0xff, 0x7f, - 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xef, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7f, 0x78, - 0x38, 0x38, 0x70, 0x70, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0x1f, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfc, - 0x1c, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x1e, 0x1c, 0x1c, 0x38, 0x38, 0x78, 0x70, 0xf0, 0xe0, 0xe0, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1f, 0x3f, - 0x78, 0x70, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0xf8, 0xff, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1e, 0x1c, 0x7c, 0xf8, 0xf0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, - 0xe0, 0xf8, 0x7e, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x0f, 0x1f, 0x7e, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf8, 0x7f, 0x3f, - 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xf8, 0xfc, 0x1e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x3e, 0xfc, 0xf8, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfe, 0xff, 0x7f, + 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xef, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7f, 0x78, + 0x38, 0x38, 0x70, 0x70, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0x1f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfc, + 0x1c, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x1e, 0x1c, 0x1c, 0x38, 0x38, 0x78, 0x70, 0xf0, 0xe0, 0xe0, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1f, 0x3f, + 0x78, 0x70, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xf8, 0xff, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1e, 0x1c, 0x7c, 0xf8, 0xf0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, + 0xe0, 0xf8, 0x7e, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x0f, 0x1f, 0x7e, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf8, 0x7f, 0x3f, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; @@ -247,53 +247,53 @@ void render_status(void) { // rockon logo, 128x48px static const char rockon_logo_small [] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xf8, 0xfc, 0x0e, 0x07, 0x03, 0x03, 0x03, 0x07, 0x0e, 0xfc, 0xf8, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x70, - 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x08, 0xf8, 0x10, 0x08, 0x08, 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0x08, 0x08, - 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x80, 0xc0, 0x28, 0x18, 0x08, 0x08, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x04, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x01, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x60, 0xf8, 0xfc, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x0e, 0x0c, 0x1c, 0x18, 0x18, - 0x38, 0x70, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x1c, 0x18, 0x38, 0x30, 0x70, 0x60, 0xe0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf8, 0x7f, 0x0f, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x41, 0x3e, 0x00, 0x00, 0x00, 0x80, 0xff, 0x81, 0x00, 0x00, 0x00, 0x80, - 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x07, 0x1f, 0x7c, 0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0x7e, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0xfc, 0x0e, 0x07, 0x03, 0x03, 0x03, 0x07, 0x0e, 0xfc, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x70, + 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x08, 0xf8, 0x10, 0x08, 0x08, 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0x08, 0x08, + 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x80, 0xc0, 0x28, 0x18, 0x08, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x04, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x01, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x60, 0xf8, 0xfc, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x0e, 0x0c, 0x1c, 0x18, 0x18, + 0x38, 0x70, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x1c, 0x18, 0x38, 0x30, 0x70, 0x60, 0xe0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf8, 0x7f, 0x0f, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x41, 0x3e, 0x00, 0x00, 0x00, 0x80, 0xff, 0x81, 0x00, 0x00, 0x00, 0x80, + 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x07, 0x1f, 0x7c, 0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0x7e, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; oled_write_raw_P(rockon_logo_small, sizeof(rockon_logo_small)); diff --git a/keyboards/fingerpunch/rockon_bp/no_features/config.h b/keyboards/fingerpunch/rockon_bp/no_features/config.h deleted file mode 100644 index d4903b376d72..000000000000 --- a/keyboards/fingerpunch/rockon_bp/no_features/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon_bp/no_features/rules.mk b/keyboards/fingerpunch/rockon_bp/no_features/rules.mk deleted file mode 100644 index c1e3f00c4823..000000000000 --- a/keyboards/fingerpunch/rockon_bp/no_features/rules.mk +++ /dev/null @@ -1,16 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon_bp/oled/config.h b/keyboards/fingerpunch/rockon_bp/oled/config.h deleted file mode 100644 index 94472f300a80..000000000000 --- a/keyboards/fingerpunch/rockon_bp/oled/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon_bp/oled/rules.mk b/keyboards/fingerpunch/rockon_bp/oled/rules.mk deleted file mode 100644 index 0691c6f6410b..000000000000 --- a/keyboards/fingerpunch/rockon_bp/oled/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon_bp/oled_ec11/config.h b/keyboards/fingerpunch/rockon_bp/oled_ec11/config.h deleted file mode 100644 index 94472f300a80..000000000000 --- a/keyboards/fingerpunch/rockon_bp/oled_ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon_bp/oled_ec11/rules.mk b/keyboards/fingerpunch/rockon_bp/oled_ec11/rules.mk deleted file mode 100644 index 18db16e53b67..000000000000 --- a/keyboards/fingerpunch/rockon_bp/oled_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon_bp/readme.md b/keyboards/fingerpunch/rockon_bp/readme.md index 5ccd235a9ab9..1d5503853348 100644 --- a/keyboards/fingerpunch/rockon_bp/readme.md +++ b/keyboards/fingerpunch/rockon_bp/readme.md @@ -6,41 +6,19 @@ An ergonomic 50% keyboard (unimplemented for black pill as of now) Rock On supports vial! If you want to use Vial, go to https://github.com/sadekbaroudi/vial-qmk/keyboards/fingerpunch/rockon_bp/ -To build the firmware for this keyboard (after setting up your build environment), select from one of the following, depending on what features you have on your board: - - make fingerpunch/rockon_bp/no-features:default - make fingerpunch/rockon_bp/oled:default - make fingerpunch/rockon_bp/rgblight:default - make fingerpunch/rockon_bp/rgblight-oled:default - make fingerpunch/rockon_bp/rgbmatrix:default - make fingerpunch/rockon_bp/rgbmatrix-oled:default - make fingerpunch/rockon_bp/ec11:default - make fingerpunch/rockon_bp/oled_ec11:default - make fingerpunch/rockon_bp/rgblight_ec11:default - make fingerpunch/rockon_bp/rgblight_oled_ec11:default - make fingerpunch/rockon_bp/rgbmatrix_ec11:default - make fingerpunch/rockon_bp/rgbmatrix_oled_ec11:default - -(As of April 2022, Vial not supported for this board yet) If using the vial repository, use these: - make fingerpunch/rockon_bp/no-features:vial - make fingerpunch/rockon_bp/oled:vial - make fingerpunch/rockon_bp/rgblight:vial - make fingerpunch/rockon_bp/rgblight-oled:vial - make fingerpunch/rockon_bp/rgbmatrix:vial - make fingerpunch/rockon_bp/rgbmatrix-oled:vial - make fingerpunch/rockon_bp/ec11:vial - make fingerpunch/rockon_bp/oled_ec11:vial - make fingerpunch/rockon_bp/rgblight_ec11:vial - make fingerpunch/rockon_bp/rgblight_oled_ec11:vial - make fingerpunch/rockon_bp/rgbmatrix_ec11:vial - make fingerpunch/rockon_bp/rgbmatrix_oled_ec11:vial - -Example of flashing this keyboard: - - make fingerpunch/rockon_bp/no-features:default:flash - -Or in the vial repository: - - make fingerpunch/rockon_bp/no-features:vial:flash +To build the firmware for this keyboard (after setting up your build environment): +``` + make fingerpunch/rockon_bp:default RGBLIGHT_ENABLE=yes ENCODER_ENABLE=yes CIRQUE_ENABLE=yes OLED_ENABLE=yes +``` + +Options are: +``` + CIRQUE_ENABLE=yes + RGBLIGHT_ENABLE=yes + RGB_MATRIX_ENABLE=yes + OLED_ENABLE=yes + ENCODER_ENABLE=yes + PIMORONI_TRACKBALL_ENABLE=yes +``` 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). diff --git a/keyboards/fingerpunch/rockon_bp/rgblight/config.h b/keyboards/fingerpunch/rockon_bp/rgblight/config.h deleted file mode 100644 index 64579bc0166d..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgblight/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon_bp/rgblight/rules.mk b/keyboards/fingerpunch/rockon_bp/rgblight/rules.mk deleted file mode 100644 index 8d7dfc18160f..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgblight/rules.mk +++ /dev/null @@ -1,16 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon_bp/rgblight_ec11/config.h b/keyboards/fingerpunch/rockon_bp/rgblight_ec11/config.h deleted file mode 100644 index 64579bc0166d..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgblight_ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon_bp/rgblight_ec11/rules.mk b/keyboards/fingerpunch/rockon_bp/rgblight_ec11/rules.mk deleted file mode 100644 index 0efff70855a1..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgblight_ec11/rules.mk +++ /dev/null @@ -1,16 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon_bp/rgblight_oled/config.h b/keyboards/fingerpunch/rockon_bp/rgblight_oled/config.h deleted file mode 100644 index 771d83f52d42..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgblight_oled/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/rockon_bp/rgblight_oled/rules.mk b/keyboards/fingerpunch/rockon_bp/rgblight_oled/rules.mk deleted file mode 100644 index ee06510f39a6..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgblight_oled/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon_bp/rgblight_oled_ec11/config.h b/keyboards/fingerpunch/rockon_bp/rgblight_oled_ec11/config.h deleted file mode 100644 index 771d83f52d42..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgblight_oled_ec11/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/rockon_bp/rgblight_oled_ec11/rules.mk b/keyboards/fingerpunch/rockon_bp/rgblight_oled_ec11/rules.mk deleted file mode 100644 index 7bfa3a1c6386..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgblight_oled_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon_bp/rgbmatrix/config.h b/keyboards/fingerpunch/rockon_bp/rgbmatrix/config.h deleted file mode 100644 index 7efaf36db9c0..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgbmatrix/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon_bp/rgbmatrix/rules.mk b/keyboards/fingerpunch/rockon_bp/rgbmatrix/rules.mk deleted file mode 100644 index 47094934f679..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgbmatrix/rules.mk +++ /dev/null @@ -1,16 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon_bp/rgbmatrix_ec11/config.h b/keyboards/fingerpunch/rockon_bp/rgbmatrix_ec11/config.h deleted file mode 100644 index 7efaf36db9c0..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgbmatrix_ec11/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon_bp/rgbmatrix_ec11/rules.mk b/keyboards/fingerpunch/rockon_bp/rgbmatrix_ec11/rules.mk deleted file mode 100644 index d4d2db92b5ee..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgbmatrix_ec11/rules.mk +++ /dev/null @@ -1,16 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon_bp/rgbmatrix_oled/config.h b/keyboards/fingerpunch/rockon_bp/rgbmatrix_oled/config.h deleted file mode 100644 index d2e1240e1ea3..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgbmatrix_oled/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon_bp/rgbmatrix_oled/rules.mk b/keyboards/fingerpunch/rockon_bp/rgbmatrix_oled/rules.mk deleted file mode 100644 index 4a8489f025bc..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgbmatrix_oled/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = no - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon_bp/rgbmatrix_oled_ec11/config.h b/keyboards/fingerpunch/rockon_bp/rgbmatrix_oled_ec11/config.h deleted file mode 100644 index d2e1240e1ea3..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgbmatrix_oled_ec11/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBMATRIX -#define XOIVIOX_RGBMATRIX -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/rockon_bp/rgbmatrix_oled_ec11/rules.mk b/keyboards/fingerpunch/rockon_bp/rgbmatrix_oled_ec11/rules.mk deleted file mode 100644 index 6afc22e0481a..000000000000 --- a/keyboards/fingerpunch/rockon_bp/rgbmatrix_oled_ec11/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -PIMORONI_TRACKBALL_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes - -ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) - POINTING_DEVICE_ENABLE := yes - SRC += drivers/sensors/pimoroni_trackball.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE -endif diff --git a/keyboards/fingerpunch/rockon_bp/rockon_bp.h b/keyboards/fingerpunch/rockon_bp/rockon_bp.h index 8db78cb272dc..33ff120a849c 100644 --- a/keyboards/fingerpunch/rockon_bp/rockon_bp.h +++ b/keyboards/fingerpunch/rockon_bp/rockon_bp.h @@ -45,3 +45,5 @@ { K61, ___, K63, K64, ___, K66, K67, K68, K69 }, \ { K71, K72, K73, K99, ___, K76, K98, K78, K79 } \ } + +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/rockon_bp/rules.mk b/keyboards/fingerpunch/rockon_bp/rules.mk index ac0b9d76d7d3..063b1fe8b277 100644 --- a/keyboards/fingerpunch/rockon_bp/rules.mk +++ b/keyboards/fingerpunch/rockon_bp/rules.mk @@ -1,5 +1,6 @@ # MCU name -MCU = STM32F401 +MCU = STM32F411 +BOARD = BLACKPILL_STM32_F411 # Bootloader selection BOOTLOADER = stm32-dfu @@ -18,9 +19,9 @@ NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality # Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER -#RGBLIGHT_ENABLE = yes -#RGBLIGHT_DRIVER = WS2812 -RGB_MATRIX_ENABLE = yes +RGBLIGHT_ENABLE = no +RGBLIGHT_DRIVER = WS2812 +RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 #// disable testing WS2812_DRIVER = pwm @@ -31,7 +32,7 @@ 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 ENCODER_ENABLE = no -OLED_ENABLE = yes +OLED_ENABLE = no # EXTRAFLAGS += -flto # macros disabled, if you need the extra space MOUSEKEY_ENABLE = yes @@ -42,13 +43,28 @@ OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra -CIRQUE_ENABLE = yes - DEFERRED_EXEC_ENABLE = yes -ENCODER_MAP_ENABLE = yes -# // disable testing +CIRQUE_ENABLE = no + ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := cirque_pinnacle_i2c +endif + +PIMORONI_TRACKBALL_ENABLE = no + +ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := pimoroni_trackball + OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE endif + +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/stemcell_jumper_tester/rules.mk b/keyboards/fingerpunch/stemcell_jumper_tester/rules.mk index 71323a6131cf..1309a707a306 100644 --- a/keyboards/fingerpunch/stemcell_jumper_tester/rules.mk +++ b/keyboards/fingerpunch/stemcell_jumper_tester/rules.mk @@ -34,8 +34,8 @@ 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 ENCODER_ENABLE = no -OLED_DRIVER_ENABLE = no # this can be yes or no depending on if you have an OLED -EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed +OLED_ENABLE = no # this can be yes or no depending on if you have an OLED +# EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features require more space, can move this line into all the individual rules.mk, only where needed # for instance, if you build "no_features", it's very unlikely you'll need to disable macros MOUSEKEY_ENABLE = no diff --git a/keyboards/fingerpunch/sweeeeep/config.h b/keyboards/fingerpunch/sweeeeep/config.h index 0372fee941a3..69a3bcde07c0 100644 --- a/keyboards/fingerpunch/sweeeeep/config.h +++ b/keyboards/fingerpunch/sweeeeep/config.h @@ -24,7 +24,6 @@ #define PRODUCT_ID 0x5111 #define MANUFACTURER sadekbaroudi #define PRODUCT sadekbaroudi sweeeeep -#define DESCRIPTION sadekbaroudi sweeeeep /* * Keyboard Matrix Assignments @@ -62,32 +61,21 @@ #define RGBLIGHT_VAL_STEP 16 #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level for RGBLIGHT_ENABLE */ #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 + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_TWINKLE #endif #ifdef OLED_ENABLE #define OLED_DISPLAY_128X32 #endif -#define UNUSED_PINS - /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 diff --git a/keyboards/fingerpunch/sweeeeep/evq/config.h b/keyboards/fingerpunch/sweeeeep/evq/config.h deleted file mode 100644 index 92f927666295..000000000000 --- a/keyboards/fingerpunch/sweeeeep/evq/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" \ No newline at end of file diff --git a/keyboards/fingerpunch/sweeeeep/evq/rules.mk b/keyboards/fingerpunch/sweeeeep/evq/rules.mk deleted file mode 100644 index 4b21dccad2b1..000000000000 --- a/keyboards/fingerpunch/sweeeeep/evq/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no -ENCODER_ENABLE = yes diff --git a/keyboards/fingerpunch/sweeeeep/fp_build.json b/keyboards/fingerpunch/sweeeeep/fp_build.json new file mode 100644 index 000000000000..177536d322c0 --- /dev/null +++ b/keyboards/fingerpunch/sweeeeep/fp_build.json @@ -0,0 +1,17 @@ +[ + { + "type" : "single", + "name" : "RGBLIGHT_ENABLE", + "user_input": "Do you have RGB?" + }, + { + "type" : "single", + "name" : "ENCODER_ENABLE", + "user_input": "Do you have one or more rotary encoders?" + }, + { + "type" : "single", + "name" : "OLED_ENABLE", + "user_input": "Do you have an OLED?" + } +] \ No newline at end of file diff --git a/keyboards/fingerpunch/sweeeeep/no_features/config.h b/keyboards/fingerpunch/sweeeeep/no_features/config.h deleted file mode 100644 index 92f927666295..000000000000 --- a/keyboards/fingerpunch/sweeeeep/no_features/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#pragma once -#include "config_common.h" \ No newline at end of file diff --git a/keyboards/fingerpunch/sweeeeep/no_features/rules.mk b/keyboards/fingerpunch/sweeeeep/no_features/rules.mk deleted file mode 100644 index fc775fab24fd..000000000000 --- a/keyboards/fingerpunch/sweeeeep/no_features/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no diff --git a/keyboards/fingerpunch/sweeeeep/oled/config.h b/keyboards/fingerpunch/sweeeeep/oled/config.h deleted file mode 100644 index 94472f300a80..000000000000 --- a/keyboards/fingerpunch/sweeeeep/oled/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/sweeeeep/oled/rules.mk b/keyboards/fingerpunch/sweeeeep/oled/rules.mk deleted file mode 100644 index d2ba31991209..000000000000 --- a/keyboards/fingerpunch/sweeeeep/oled/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = no -OLED_ENABLE = yes - diff --git a/keyboards/fingerpunch/sweeeeep/readme.md b/keyboards/fingerpunch/sweeeeep/readme.md index a88e848c6f52..ec59632a1b78 100644 --- a/keyboards/fingerpunch/sweeeeep/readme.md +++ b/keyboards/fingerpunch/sweeeeep/readme.md @@ -12,13 +12,19 @@ This is a reversible sweep pcb with support for 36 keys, per key leds, oled, and # Firmware -To build the firmware for this keyboard (after setting up your build environment), select from one of the following, depending on what features you have on your board: - - make fingerpunch/sweeeeep/no-features:default - make fingerpunch/sweeeeep/oled:default - make fingerpunch/sweeeeep/rgblight:default - make fingerpunch/sweeeeep/rgblight_oled:default - +To build the firmware for this keyboard (after setting up your build environment): +``` + make fingerpunch/sweeeeep:default RGBLIGHT_ENABLE=yes ENCODER_ENABLE=yes OLED_ENABLE=yes +``` + +Don't forget to add ```CONVERT_TO=stemcell``` if using a stemcell controller. + +Options are: +``` + RGBLIGHT_ENABLE=yes + OLED_ENABLE=yes + ENCODER_ENABLE=yes +``` If using the vial repository, use these: make fingerpunch/sweeeeep/no-features:vial diff --git a/keyboards/fingerpunch/sweeeeep/rgblight/config.h b/keyboards/fingerpunch/sweeeeep/rgblight/config.h deleted file mode 100644 index 64579bc0166d..000000000000 --- a/keyboards/fingerpunch/sweeeeep/rgblight/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#pragma once -#include "config_common.h" diff --git a/keyboards/fingerpunch/sweeeeep/rgblight/rules.mk b/keyboards/fingerpunch/sweeeeep/rgblight/rules.mk deleted file mode 100644 index 9e3bed953d41..000000000000 --- a/keyboards/fingerpunch/sweeeeep/rgblight/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -OLED_ENABLE = no -OLED_DRIVER_ENABLE = no diff --git a/keyboards/fingerpunch/sweeeeep/rgblight_evq/config.h b/keyboards/fingerpunch/sweeeeep/rgblight_evq/config.h deleted file mode 100644 index 771d83f52d42..000000000000 --- a/keyboards/fingerpunch/sweeeeep/rgblight_evq/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/sweeeeep/rgblight_evq/rules.mk b/keyboards/fingerpunch/sweeeeep/rgblight_evq/rules.mk deleted file mode 100644 index 0f699aef25f4..000000000000 --- a/keyboards/fingerpunch/sweeeeep/rgblight_evq/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -OLED_ENABLE = no -ENCODER_ENABLE = yes diff --git a/keyboards/fingerpunch/sweeeeep/rgblight_oled/config.h b/keyboards/fingerpunch/sweeeeep/rgblight_oled/config.h deleted file mode 100644 index 771d83f52d42..000000000000 --- a/keyboards/fingerpunch/sweeeeep/rgblight_oled/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2021 Sadek Baroudi - -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 . -*/ - -#ifndef XOIVIOX_RGBLIGHT -#define XOIVIOX_RGBLIGHT -#endif - -#ifndef XOIVIOX_OLED -#define XOIVIOX_OLED -#endif - -#pragma once -#include "config_common.h" - diff --git a/keyboards/fingerpunch/sweeeeep/rgblight_oled/rules.mk b/keyboards/fingerpunch/sweeeeep/rgblight_oled/rules.mk deleted file mode 100644 index ef79dd6846e7..000000000000 --- a/keyboards/fingerpunch/sweeeeep/rgblight_oled/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Build Options -# change yes to no to disable -# -RGBLIGHT_ENABLE = yes -OLED_ENABLE = yes - diff --git a/keyboards/fingerpunch/sweeeeep/rules.mk b/keyboards/fingerpunch/sweeeeep/rules.mk index 7efa64d51c4e..9486c60f7325 100644 --- a/keyboards/fingerpunch/sweeeeep/rules.mk +++ b/keyboards/fingerpunch/sweeeeep/rules.mk @@ -23,8 +23,17 @@ 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 ENCODER_ENABLE = no -OLED_ENABLE = yes +OLED_ENABLE = no # EXTRAFLAGS += -flto # macros disabled, if you need the extra space MOUSEKEY_ENABLE = no -SPLIT_KEYBOARD = yes # Use shared split_common code \ No newline at end of file +SPLIT_KEYBOARD = yes # Use shared split_common code + +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c diff --git a/keyboards/fingerpunch/sweeeeep/sweeeeep.h b/keyboards/fingerpunch/sweeeeep/sweeeeep.h index 2d4fc43f48c4..9f0a40ff3a41 100644 --- a/keyboards/fingerpunch/sweeeeep/sweeeeep.h +++ b/keyboards/fingerpunch/sweeeeep/sweeeeep.h @@ -44,3 +44,5 @@ { R15, R14, R13, R12, R11 }, \ { R16, R17, R18, ___, ___ } \ } + +#include "keyboards/fingerpunch/fp.h" diff --git a/keyboards/fingerpunch/ximi/config.h b/keyboards/fingerpunch/ximi/config.h index 869316bba1ef..afb5a2da7c13 100644 --- a/keyboards/fingerpunch/ximi/config.h +++ b/keyboards/fingerpunch/ximi/config.h @@ -31,6 +31,11 @@ along with this program. If not, see . #define MATRIX_ROWS 6 #define MATRIX_COLS 16 +// For shift register (and optionally trackball) +#define SPI_SCK_PIN GP2 +#define SPI_MOSI_PIN GP3 +#define SPI_MISO_PIN GP4 + #define SHIFTREG_MATRIX_COL_CS GP1 #define SHIFTREG_DIVISOR 8 // needs to be the same as the PMW33XX_CS_DIVISOR below // These next two should match the MATRIX_ROWS and MATRIX_COLS if a unibody, and should be cut in half if a split keyboard @@ -46,32 +51,76 @@ along with this program. If not, see . #define SPLIT_POINTING_ENABLE #define SPLIT_LAYER_STATE_ENABLE #define SPLIT_MODS_ENABLE -#define POINTING_DEVICE_COMBINED #define SOFT_SERIAL_PIN GP0 #define USE_SERIAL #define SELECT_SOFT_SERIAL_SPEED 0 #define RGB_DI_PIN GP26 #ifdef RGBLIGHT_ENABLE -# define RGBLIGHT_SPLIT -# define RGBLED_SPLIT { 21, 21 } -# define RGBLED_NUM 42 -# define RGBLIGHT_HUE_STEP 16 -# define RGBLIGHT_SAT_STEP 16 -# define RGBLIGHT_VAL_STEP 16 -# define RGBLIGHT_LIMIT_VAL 180 /* The maximum brightness level for RGBLIGHT_ENABLE */ -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ + #define RGBLIGHT_SPLIT + #define RGBLED_SPLIT { 21, 21 } + #define RGBLED_NUM 42 + #define RGBLIGHT_HUE_STEP 16 + #define RGBLIGHT_SAT_STEP 16 + #define RGBLIGHT_VAL_STEP 16 + #define RGBLIGHT_LIMIT_VAL 180 /* The maximum brightness level for RGBLIGHT_ENABLE */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_TWINKLE #endif #ifdef RGB_MATRIX_ENABLE -# define SPLIT_TRANSPORT_MIRROR -# define DRIVER_LED_TOTAL 42 // Number of LEDs -# define RGB_MATRIX_SPLIT { 21, 21 } -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 -# define RGB_MATRIX_STARTUP_HUE 35 -# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define RGB_DISABLE_WHEN_USB_SUSPENDED -# define RGB_MATRIX_KEYPRESSES + #define SPLIT_TRANSPORT_MIRROR + #define DRIVER_LED_TOTAL 42 // Number of LEDs + #define RGB_MATRIX_SPLIT { 21, 21 } + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 + #define RGB_MATRIX_STARTUP_HUE 35 + #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS + #define RGB_DISABLE_WHEN_USB_SUSPENDED + #define RGB_MATRIX_KEYPRESSES + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + #define RGB_MATRIX_KEYREACTIVE_ENABLED + #define ENABLE_RGB_MATRIX_ALPHAS_MODS + #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_BREATHING + #define ENABLE_RGB_MATRIX_BAND_SAT + #define ENABLE_RGB_MATRIX_BAND_VAL + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL + #define ENABLE_RGB_MATRIX_CYCLE_ALL + #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN + #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define ENABLE_RGB_MATRIX_DUAL_BEACON + #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL + #define ENABLE_RGB_MATRIX_RAINBOW_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define ENABLE_RGB_MATRIX_RAINDROPS + #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + #define ENABLE_RGB_MATRIX_DIGITAL_RAIN + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define ENABLE_RGB_MATRIX_SPLASH + #define ENABLE_RGB_MATRIX_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_SPLASH + #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif /* Set 0 if debouncing isn't needed */ @@ -80,31 +129,31 @@ along with this program. If not, see . /* audio support */ // Pending https://github.com/qmk/qmk_firmware/pull/17723 and https://github.com/qmk/qmk_firmware/pull/17706 #ifdef AUDIO_ENABLE -# define AUDIO_VOICES -# define AUDIO_PIN GP4 -# define AUDIO_PWM_DRIVER PWMD2 -# define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_4 -# define NO_MUSIC_MODE -# define STARTUP_SONG SONG(PREONIC_SOUND) -# define DEFAULT_LAYER_SONGS \ + #define AUDIO_VOICES + #define AUDIO_PIN GP4 + #define AUDIO_PWM_DRIVER PWMD2 + #define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_4 + #define NO_MUSIC_MODE + #define STARTUP_SONG SONG(PREONIC_SOUND) + #define DEFAULT_LAYER_SONGS \ { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND) } -#endif +#endif #ifdef HAPTIC_ENABLE -# define FB_ERM_LRA 1 -# define FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 -# define FB_LOOPGAIN 1 // For Low:0, Medium:1, High:2, Very High:3 -# define RATED_VOLTAGE 2 -# define V_PEAK 2.8 -# define V_RMS 2.0 -# define F_LRA 150 // resonance freq -# define DRV_GREETING alert_750ms -# define NO_HAPTIC_ALPHA -# define NO_HAPTIC_LOCKKEYS -# define NO_HAPTIC_PUNCTUATION -# define NO_HAPTIC_NAV -# define NO_HAPTIC_NUMERIC -# define NO_HAPTIC_MOD + #define FB_ERM_LRA 1 + #define FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 + #define FB_LOOPGAIN 1 // For Low:0, Medium:1, High:2, Very High:3 + #define RATED_VOLTAGE 2 + #define V_PEAK 2.8 + #define V_RMS 2.0 + #define F_LRA 150 // resonance freq + #define DRV_GREETING alert_750ms + #define NO_HAPTIC_ALPHA + #define NO_HAPTIC_LOCKKEYS + #define NO_HAPTIC_PUNCTUATION + #define NO_HAPTIC_NAV + #define NO_HAPTIC_NUMERIC + #define NO_HAPTIC_MOD #endif /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ @@ -116,36 +165,65 @@ along with this program. If not, see . #define I2C1_SDA_PIN GP6 #define I2C1_SCL_PIN GP7 -// cirque trackpad config -#define CIRQUE_PINNACLE_ADDR 0x2A -// Comment line above, and uncomment 2 lines below to switch to relative mode and enable right click -// Note that tap to click doesn't work on the slave side unless you enable relative mode -// #define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_RELATIVE_MODE -// #define CIRQUE_PINNACLE_SECONDARY_TAP_ENABLE -#define CIRQUE_PINNACLE_TAP_ENABLE -#define POINTING_DEVICE_TASK_THROTTLE_MS 5 -#define POINTING_DEVICE_ROTATION_90 // move to cirque specific config -#define POINTING_DEVICE_ROTATION_90_RIGHT -#define I2C1_CLOCK_SPEED 400000 -#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 - -// Trackball config -// Move into pwm3360 feature directory -#define PMW33XX_CS_PIN GP26 -#define PMW33XX_CPI 800 -#define PMW33XX_CS_DIVISOR 8 // needs to be the same as the SHIFTREG_DIVISOR above -// #define POINTING_DEVICE_INVERT_Y // move to trackball specific config +#ifdef CIRQUE_ENABLE + // cirque trackpad config + #define CIRQUE_PINNACLE_ADDR 0x2A + // Comment line above, and uncomment 2 lines below to switch to relative mode and enable right click + // Note that tap to click doesn't work on the slave side unless you enable relative mode + // #define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_RELATIVE_MODE + // #define CIRQUE_PINNACLE_SECONDARY_TAP_ENABLE + #define CIRQUE_PINNACLE_TAP_ENABLE + #define POINTING_DEVICE_TASK_THROTTLE_MS 5 + #define POINTING_DEVICE_ROTATION_90 // move to cirque specific config + #define POINTING_DEVICE_ROTATION_90_RIGHT + #define I2C1_CLOCK_SPEED 400000 + #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 +#endif -#define SPI_SCK_PIN GP2 -#define SPI_MOSI_PIN GP3 -#define SPI_MISO_PIN GP4 +#ifdef FP_TRACKBALL_ENABLE + // Trackball config + #define PMW33XX_CS_PIN GP26 + #define PMW33XX_CPI 800 + #define PMW33XX_CS_DIVISOR 8 // needs to be the same as the SHIFTREG_DIVISOR above + + /* SPI config for pmw3360 sensor. */ + #define SPI_DRIVER SPID0 + // #define SPI_SCK_PAL_MODE 5 // already defined in chibios + // #define SPI_MOSI_PAL_MODE 5 // already defined in chibios + #define SPI_MISO_PIN GP4 + // #define SPI_MISO_PAL_MODE 5 // already defined in chibios +#endif -/* SPI config for pmw3360 sensor. */ -// #define SPI_DRIVER SPID1 -// #define SPI_SCK_PIN GP2 -// #define SPI_SCK_PAL_MODE 5 -// #define SPI_MOSI_PIN GP3 -// #define SPI_MOSI_PAL_MODE 5 -// #define SPI_MISO_PIN GP4 -// #define SPI_MISO_PAL_MODE 5 -// end Trackball config +// If both sides have a pointing device +#if defined(FP_TRACKBALL_BOTH) || \ + defined(FP_CIRQUE_BOTH) || \ + defined(FP_TRACKBALL_LEFT_CIRQUE_RIGHT) || \ + defined(FP_CIRQUE_LEFT_TRACKBALL_RIGHT) + #define POINTING_DEVICE_COMBINED +#endif + +// If the left side has a pointing device +#if defined(FP_TRACKBALL_LEFT_ONLY) || \ + defined(FP_CIRQUE_LEFT_ONLY) + #define POINTING_DEVICE_LEFT +#endif + +// If the right side has a pointing device +#if defined(FP_TRACKBALL_RIGHT_ONLY) || \ + defined(FP_CIRQUE_RIGHT_ONLY) + #define POINTING_DEVICE_RIGHT +#endif + +// If there is a trackball on the left side +#if defined(FP_TRACKBALL_BOTH) || \ + defined(FP_TRACKBALL_LEFT_CIRQUE_RIGHT) || \ + defined(FP_TRACKBALL_LEFT_ONLY) + #define POINTING_DEVICE_INVERT_Y // This inverts the Y on the left side only +#endif + +// If there is a trackball on the right side +#if defined(FP_TRACKBALL_BOTH) || \ + defined(FP_CIRQUE_LEFT_TRACKBALL_RIGHT) || \ + defined(FP_TRACKBALL_RIGHT_ONLY) + #define POINTING_DEVICE_INVERT_X_RIGHT +#endif diff --git a/keyboards/fingerpunch/ximi/fp_build.json b/keyboards/fingerpunch/ximi/fp_build.json new file mode 100644 index 000000000000..8485e9c9296f --- /dev/null +++ b/keyboards/fingerpunch/ximi/fp_build.json @@ -0,0 +1,26 @@ +[ + { + "type" : "one-of", + "names" : [ + "FP_TRACKBALL_BOTH", + "FP_CIRQUE_BOTH", + "FP_TRACKBALL_LEFT_ONLY", + "FP_TRACKBALL_RIGHT_ONLY", + "FP_CIRQUE_LEFT_ONLY", + "FP_CIRQUE_RIGHT_ONLY", + "FP_TRACKBALL_LEFT_CIRQUE_RIGHT", + "FP_CIRQUE_LEFT_TRACKBALL_RIGHT" + ], + "user_input": "What config would you like to use? (FP_TRACKBALL_BOTH, FP_CIRQUE_BOTH, FP_TRACKBALL_LEFT_ONLY, FP_TRACKBALL_RIGHT_ONLY, FP_CIRQUE_LEFT_ONLY, FP_CIRQUE_RIGHT_ONLY, FP_TRACKBALL_LEFT_CIRQUE_RIGHT, FP_CIRQUE_LEFT_TRACKBALL_RIGHT): " + }, + { + "type" : "single", + "name" : "RGBLIGHT_ENABLE", + "user_input": "Do you have RGB?" + }, + { + "type" : "single", + "name" : "HAPTIC_ENABLE", + "user_input": "Do you have haptic feedback?" + } +] diff --git a/keyboards/fingerpunch/ximi/keymaps/default/keymap.c b/keyboards/fingerpunch/ximi/keymaps/default/keymap.c index b974fd4c73f0..8205b2b08098 100644 --- a/keyboards/fingerpunch/ximi/keymaps/default/keymap.c +++ b/keyboards/fingerpunch/ximi/keymaps/default/keymap.c @@ -1,9 +1,5 @@ #include QMK_KEYBOARD_H -#ifdef HAPTIC_ENABLE -#include "drivers/haptic/DRV2605L.h" -#endif - // Defines names for use in layer keycodes and the keymap enum layer_names { _QWERTY, @@ -142,155 +138,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______ ) }; - -layer_state_t layer_state_set_keymap(layer_state_t state) { - switch(get_highest_layer(state)) { - case _QWERTY: - case _COLEMAK: -#ifdef HAPTIC_ENABLE - DRV_pulse(soft_bump); -#endif - break; - case _RAISE: -#ifdef HAPTIC_ENABLE - DRV_pulse(sh_dblsharp_tick); -#endif - break; - case _LOWER: -#ifdef HAPTIC_ENABLE - DRV_pulse(lg_dblclick_str); -#endif - break; - case _ADJUST: -#ifdef HAPTIC_ENABLE - DRV_pulse(pulsing_sharp); -#endif - break; - default: - break; - } - - return state; -} - -bool process_record_kb(uint16_t keycode, keyrecord_t* record) { - if (!process_record_user(keycode, record)) { - return false; - } - switch(keycode) { - case KC_BTN1: -#ifdef HAPTIC_ENABLE - DRV_pulse(medium_click1); -#endif - break; - case KC_BTN2: -#ifdef HAPTIC_ENABLE - DRV_pulse(sh_dblclick_str); -#endif - break; - case KC_BTN3: -#ifdef HAPTIC_ENABLE - DRV_pulse(lg_dblclick_med); -#endif - break; - case KC_C: // copy - if (record->event.pressed) { -#ifdef HAPTIC_ENABLE - if (get_mods() & MOD_MASK_CTRL) { - DRV_pulse(lg_dblclick_str); - } -#endif - } - break; - case KC_X: // cut - if (record->event.pressed) { -#ifdef HAPTIC_ENABLE - if (get_mods() & MOD_MASK_CTRL) { - DRV_pulse(lg_dblclick_str); - } -#endif - } - break; - case KC_V: // paste - if (record->event.pressed) { -#ifdef HAPTIC_ENABLE - if (get_mods() & MOD_MASK_CTRL) { - DRV_pulse(soft_bump); - } -#endif - } - break; - case KC_S: // save - if (record->event.pressed) { -#ifdef HAPTIC_ENABLE - if (get_mods() & MOD_MASK_CTRL) { - DRV_pulse(pulsing_strong); - } -#endif - } - break; - default: - break; - } - - return true; -} - - - -void keyboard_post_init_kb(void) { -#ifdef POINTING_DEVICE_ENABLE - pointing_device_set_default_cpi(); -#endif -} - - -#ifdef POINTING_DEVICE_ENABLE -static bool scrolling_mode = false; - -report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { - if (scrolling_mode) { - mouse_report.h = mouse_report.x; - mouse_report.v = mouse_report.y; - mouse_report.x = 0; - mouse_report.y = 0; - } - return mouse_report; -} - -layer_state_t layer_state_set_pointing(layer_state_t state) { - switch (get_highest_layer(state)) { - case _RAISE: - case _LOWER: - scrolling_mode = true; - pointing_device_set_cpi(50); - break; - default: - if (scrolling_mode) { - scrolling_mode = false; - pointing_device_set_default_cpi(); - } - break; - } - return state; -} - -#ifdef POINTING_DEVICE_COMBINED -report_mouse_t pointing_device_task_combined_user(report_mouse_t left_report, report_mouse_t right_report) { - left_report.h = left_report.x; - left_report.v = left_report.y; - left_report.x = 0; - left_report.y = 0; - return pointing_device_combine_reports(left_report, right_report); -} -#endif // POINTING_DEVICE_COMBINED - -void pointing_device_set_default_cpi(void) { -#ifdef POINTING_DEVICE_COMBINED - pointing_device_set_cpi_on_side(true, 50); //Set cpi on left side to a low value for slower scrolling. - pointing_device_set_cpi_on_side(false, 2000); //Set cpi on right side to a reasonable value for mousing. -#else - pointing_device_set_cpi(2000); -#endif -} -#endif // POINTING_DEVICE_ENABLE \ No newline at end of file diff --git a/keyboards/fingerpunch/ximi/matrix_74hc595_spi.c b/keyboards/fingerpunch/ximi/matrix_74hc595_spi.c index 485bec8093e2..27f6689d3ce0 100644 --- a/keyboards/fingerpunch/ximi/matrix_74hc595_spi.c +++ b/keyboards/fingerpunch/ximi/matrix_74hc595_spi.c @@ -6,12 +6,11 @@ #include /* close */ #include "quantum.h" #include "matrix.h" -// added for testing with SR_DEBUG_RATIO, remove when done +#ifdef FP_SR595_MATRIX_DEBUG #include #include -// end testing - -#define SR_DEBUG_RATIO 10000 +#define FP_SR595_MATRIX_DEBUG_RATIO 10000 +#endif #if (!defined(SHIFTREG_MATRIX_COL_CS)) # error Missing shift register I/O pin definitions @@ -55,15 +54,7 @@ bool sr_74hc595_spi_send_byte(uint8_t data) { sr_74hc595_spi_start(); writePinLow(SHIFTREG_MATRIX_COL_CS); matrix_io_delay(); - // spi_status_t spiResponse = spi_write(data); spi_write(data); - // Status is irrelevant as we don't have a MISO pin to check if it succeeded - // if (spiResponse != SPI_STATUS_SUCCESS) { - // xprintf("74hc595 matrix: failed to send data over SPI: response %d\n", spiResponse); - // writePinHigh(SHIFTREG_MATRIX_COL_CS); - // sr_74hc595_spi_stop(); - // return false; - // } matrix_io_delay(); writePinHigh(SHIFTREG_MATRIX_COL_CS); sr_74hc595_spi_stop(); @@ -118,7 +109,11 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { // reset the current matrix, as we'll be updating and comparing to the old matrix memset(current_matrix, 0, matrixArraySize); - bool debug_output = ((rand() % SR_DEBUG_RATIO) == 1); +#ifdef FP_SR595_MATRIX_DEBUG + bool debug_output = ((rand() % FP_SR595_MATRIX_DEBUG_RATIO) == 1); +#else + bool debug_output = false; +#endif // Loop through the columns, activating one at a time, and read the rows, and place in the new current_matrix for (int c = 0; c < SHIFTREG_COLS; c++) { if (debug_output) { diff --git a/keyboards/fingerpunch/ximi/mcuconf.c b/keyboards/fingerpunch/ximi/mcuconf.c index 34708ac79aa1..8af485361ee1 100644 --- a/keyboards/fingerpunch/ximi/mcuconf.c +++ b/keyboards/fingerpunch/ximi/mcuconf.c @@ -2,8 +2,8 @@ #include_next "mcuconf.h" -#undef RP_SPI_USE_SPI1 -#define RP_SPI_USE_SPI1 TRUE +#undef RP_SPI_USE_SPI0 +#define RP_SPI_USE_SPI0 TRUE #undef RP_I2C_USE_I2C1 #define RP_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/fingerpunch/ximi/readme.md b/keyboards/fingerpunch/ximi/readme.md index 1fb992764e25..f057119d6555 100644 --- a/keyboards/fingerpunch/ximi/readme.md +++ b/keyboards/fingerpunch/ximi/readme.md @@ -3,20 +3,44 @@ * Keyboard Maintainer: sadekbaroudi * Hardware Supported: ximi PCB -Make example for this keyboard (after setting up your build environment): - - make fingerpunch/ximi:default +IMPORTANT NOTE TO SELF, ADD THIS BACK INTO fp_build.json WHEN AUDIO SUPPORT IS AVAILABLE FOR RP2040 + { + "type" : "single", + "name" : "AUDIO_ENABLE", + "user_input": "Do you have audio buzzer?" + }, -Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): - - make fingerpunch/ximi:default:flash +Make example for this keyboard (after setting up your build environment): +``` + make fingerpunch/ximi:default RGBLIGHT_ENABLE=yes FP_CIRQUE_BOTH=yes HAPTIC_ENABLE=yes +``` + +Options are: +``` + RGBLIGHT_ENABLE=yes + AUDIO_ENABLE=yes + HAPTIC_FEEDBACK=yes + // for the options below, select only one, or none + FP_TRACKBALL_BOTH=yes + FP_CIRQUE_BOTH=yes + FP_TRACKBALL_LEFT_ONLY=yes + FP_TRACKBALL_RIGHT_ONLY=yes + FP_CIRQUE_LEFT_ONLY=yes + FP_CIRQUE_RIGHT_ONLY=yes + FP_TRACKBALL_LEFT_CIRQUE_RIGHT=yes + FP_CIRQUE_LEFT_TRACKBALL_RIGHT=yes +``` + +Notes: +* Pick one (or none) of FP_TRACKBALL_* or FP_CIRQUE_* only. +* If you are using a trackball, you cannot use per key rgb or audio. It will be automatically disabled. The hardware doesn't support them together. See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. ## Build Guide See: -https://github.com/sadekbaroudi/fingerpunch/blob/master/luakeeb/BUILDGUIDE.md +https://github.com/sadekbaroudi/fingerpunch/blob/master/ximi/ ## Choosing which board to plug the USB cable into (choosing Master) diff --git a/keyboards/fingerpunch/ximi/rules.mk b/keyboards/fingerpunch/ximi/rules.mk index 4225ba4c3471..d0dc67ed4724 100644 --- a/keyboards/fingerpunch/ximi/rules.mk +++ b/keyboards/fingerpunch/ximi/rules.mk @@ -17,7 +17,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality # Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = no +RGB_MATRIX_ENABLE = no # not supported yet, but will add RGB_MATRIX_DRIVER = WS2812 WS2812_DRIVER = vendor @@ -27,7 +27,6 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches ENCODER_ENABLE = no -OLED_DRIVER_ENABLE = no # this can be yes or no depending on if you have an OLED EXTRAFLAGS += -flto # macros enable or disable MOUSEKEY_ENABLE = yes @@ -36,28 +35,103 @@ SERIAL_DRIVER = vendor #HAPTIC FEEDBACK +HAPTIC_ENABLE ?= no HAPTIC_DRIVER = DRV2605L -HAPTIC_ENABLE = yes # Audio doesn't work with RP2040 yet :( -AUDIO_ENABLE = no +# Pending https://github.com/qmk/qmk_firmware/pull/17723 and https://github.com/qmk/qmk_firmware/pull/17706 +AUDIO_ENABLE ?= no + +CIRQUE_ENABLE = no # Don't set this one, gets set automatically by FP_CIRQUE_* +PMW3360_ENABLE = no # Don't set this one, gets set automatically by FP_TRACKBALL_* + +# Choose only one (or none) of the 8 options below +FP_TRACKBALL_BOTH ?= no +FP_CIRQUE_BOTH ?= no +FP_TRACKBALL_LEFT_ONLY ?= no +FP_TRACKBALL_RIGHT_ONLY ?= no +FP_CIRQUE_LEFT_ONLY ?= no +FP_CIRQUE_RIGHT_ONLY ?= no +FP_TRACKBALL_LEFT_CIRQUE_RIGHT ?= no +FP_CIRQUE_LEFT_TRACKBALL_RIGHT ?= no + +ifeq ($(strip $(FP_TRACKBALL_BOTH)), yes) + PMW3360_ENABLE := yes + OPT_DEFS += -DFP_TRACKBALL_BOTH +endif + +ifeq ($(strip $(FP_TRACKBALL_LEFT_ONLY)), yes) + PMW3360_ENABLE := yes + OPT_DEFS += -DFP_TRACKBALL_LEFT_ONLY +endif + +ifeq ($(strip $(FP_TRACKBALL_RIGHT_ONLY)), yes) + PMW3360_ENABLE := yes + OPT_DEFS += -DFP_TRACKBALL_RIGHT_ONLY +endif + +ifeq ($(strip $(FP_TRACKBALL_LEFT_CIRQUE_RIGHT)), yes) + PMW3360_ENABLE := yes + OPT_DEFS += -DFP_TRACKBALL_LEFT_CIRQUE_RIGHT +endif + +ifeq ($(strip $(FP_CIRQUE_LEFT_TRACKBALL_RIGHT)), yes) + PMW3360_ENABLE := yes + OPT_DEFS += -DFP_CIRQUE_LEFT_TRACKBALL_RIGHT +endif + +ifeq ($(strip $(FP_CIRQUE_BOTH)), yes) + CIRQUE_ENABLE := yes + OPT_DEFS += -DFP_CIRQUE_BOTH +endif + +ifeq ($(strip $(FP_CIRQUE_LEFT_ONLY)), yes) + CIRQUE_ENABLE := yes + OPT_DEFS += -DFP_CIRQUE_LEFT_ONLY +endif + +ifeq ($(strip $(FP_CIRQUE_RIGHT_ONLY)), yes) + CIRQUE_ENABLE := yes + OPT_DEFS += -DFP_CIRQUE_RIGHT_ONLY +endif + +ifeq ($(strip $(FP_TRACKBALL_LEFT_CIRQUE_RIGHT)), yes) + CIRQUE_ENABLE := yes + OPT_DEFS += -DFP_TRACKBALL_LEFT_CIRQUE_RIGHT +endif + +ifeq ($(strip $(FP_CIRQUE_LEFT_TRACKBALL_RIGHT)), yes) + CIRQUE_ENABLE := yes + OPT_DEFS += -DFP_CIRQUE_LEFT_TRACKBALL_RIGHT +endif -CIRQUE_ENABLE = yes ifeq ($(strip $(CIRQUE_ENABLE)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := cirque_pinnacle_i2c + OPT_DEFS += -DCIRQUE_ENABLE endif -# PMW3360_ENABLE = no +ifeq ($(strip $(PMW3360_ENABLE)), yes) + AUDIO_ENABLE := no + RGBLIGHT_ENABLE := no + RGB_MATRIX_ENABLE := no + POINTING_DEVICE_ENABLE := yes + POINTING_DEVICE_DRIVER := pmw3360 + QUANTUM_LIB_SRC += spi_master.c + OPT_DEFS += -DFP_TRACKBALL_ENABLE +endif -# ifeq ($(strip $(PMW3360_ENABLE)), yes) -# POINTING_DEVICE_ENABLE := yes -# POINTING_DEVICE_DRIVER = pmw3360 -# QUANTUM_LIB_SRC += spi_master.c -# endif +DEFERRED_EXEC_ENABLE = yes +SRC += keyboards/fingerpunch/fp.c \ + keyboards/fingerpunch/fp_haptic.c \ + keyboards/fingerpunch/fp_keyhandler.c \ + keyboards/fingerpunch/fp_pointing.c \ + keyboards/fingerpunch/fp_rgb_common.c \ + keyboards/fingerpunch/fp_rgblight.c \ + keyboards/fingerpunch/fp_rgb_matrix.c SRC += matrix_74hc595_spi.c QUANTUM_LIB_SRC += spi_master.c -CUSTOM_MATRIX = lite \ No newline at end of file +CUSTOM_MATRIX = lite diff --git a/keyboards/fingerpunch/ximi/ximi.h b/keyboards/fingerpunch/ximi/ximi.h index 3ff110a8a9de..1cfa6b53daa3 100644 --- a/keyboards/fingerpunch/ximi/ximi.h +++ b/keyboards/fingerpunch/ximi/ximi.h @@ -19,3 +19,4 @@ void pointing_device_set_default_cpi(void); { K50, K51, K52, K53, K54, K55, K56, K57 } \ } +#include "keyboards/fingerpunch/fp.h" diff --git a/quantum/pointing_device/pointing_device.c b/quantum/pointing_device/pointing_device.c index 505a7a6ffd52..100f46cebc31 100644 --- a/quantum/pointing_device/pointing_device.c +++ b/quantum/pointing_device/pointing_device.c @@ -269,6 +269,10 @@ __attribute__((weak)) void pointing_device_task(void) { #else local_mouse_report = pointing_device_adjust_by_defines(local_mouse_report); local_mouse_report = pointing_device_task_kb(local_mouse_report); +#endif + // automatic mouse layer function +#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE + pointing_device_task_auto_mouse(local_mouse_report); #endif // combine with mouse report to ensure that the combined is sent correctly #ifdef MOUSEKEY_ENABLE diff --git a/quantum/pointing_device/pointing_device.h b/quantum/pointing_device/pointing_device.h index 77db5471eac6..a002bd4b2572 100644 --- a/quantum/pointing_device/pointing_device.h +++ b/quantum/pointing_device/pointing_device.h @@ -21,6 +21,10 @@ along with this program. If not, see . #include "host.h" #include "report.h" +#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE +# include "pointing_device_auto_mouse.h" +#endif + #if defined(POINTING_DEVICE_DRIVER_adns5050) # include "drivers/sensors/adns5050.h" #elif defined(POINTING_DEVICE_DRIVER_adns9800) diff --git a/quantum/pointing_device/pointing_device_auto_mouse.c b/quantum/pointing_device/pointing_device_auto_mouse.c new file mode 100644 index 000000000000..edffd4478743 --- /dev/null +++ b/quantum/pointing_device/pointing_device_auto_mouse.c @@ -0,0 +1,384 @@ +/* Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) + * Copyright 2022 Alabastard + * + * 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 . + */ + +#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE + +# include "pointing_device_auto_mouse.h" + +/* local data structure for tracking auto mouse */ +static auto_mouse_context_t auto_mouse_context = {.config.layer = (uint8_t)AUTO_MOUSE_DEFAULT_LAYER}; + +/* local functions */ +static bool is_mouse_record(uint16_t keycode, keyrecord_t* record); +static void auto_mouse_reset(void); + +/* check for target layer deactivation overrides */ +static inline bool layer_hold_check(void) { + return get_auto_mouse_toggle() || +# ifndef NO_ACTION_ONESHOT + get_oneshot_layer() == (AUTO_MOUSE_TARGET_LAYER) || +# endif + false; +} + +/* check all layer activation criteria */ +static inline bool is_auto_mouse_active(void) { + return auto_mouse_context.status.is_activated || auto_mouse_context.status.mouse_key_tracker || layer_hold_check(); +} + +/** + * @brief Get auto mouse enable state + * + * Return is_enabled value + * + * @return bool true: auto mouse enabled false: auto mouse disabled + */ +bool get_auto_mouse_enable(void) { + return auto_mouse_context.config.is_enabled; +} + +/** + * @brief get current target layer index + * + * NOTE: (AUTO_MOUSE_TARGET_LAYER) is an alias for this function + * + * @return uint8_t target layer index + */ +uint8_t get_auto_mouse_layer(void) { + return auto_mouse_context.config.layer; +} + +/** + * @brief get layer_toggled value + * + * @return bool of current layer_toggled state + */ +bool get_auto_mouse_toggle(void) { + return auto_mouse_context.status.is_toggled; +} + +/** + * @brief Reset auto mouse context + * + * Clear timers and status + * + * NOTE: this will set is_toggled to false so careful when using it + */ +static void auto_mouse_reset(void) { + memset(&auto_mouse_context.status, 0, sizeof(auto_mouse_context.status)); + memset(&auto_mouse_context.timer, 0, sizeof(auto_mouse_context.timer)); +} + +/** + * @brief Set auto mouse enable state + * + * Set local auto mouse enabled state + * + * @param[in] state bool + */ +void set_auto_mouse_enable(bool enable) { + // skip if unchanged + if (auto_mouse_context.config.is_enabled == enable) return; + auto_mouse_context.config.is_enabled = enable; + auto_mouse_reset(); +} + +/** + * @brief Change target layer for auto mouse + * + * Sets input as the new target layer if different from current and resets auto mouse + * + * NOTE: remove_auto_mouse_layer(state, false) or auto_mouse_layer_off should be called + * before this function to avoid issues with layers getting stuck + * + * @param[in] layer uint8_t + */ +void set_auto_mouse_layer(uint8_t layer) { + // skip if unchanged + if (auto_mouse_context.config.layer == layer) return; + auto_mouse_context.config.layer = layer; + auto_mouse_reset(); +} + +/** + * @brief toggle mouse layer setting + * + * Change state of local layer_toggled bool meant to track when the mouse layer is toggled on by other means + * + * NOTE: While is_toggled is true it will prevent deactiving target layer (but not activation) + */ +void auto_mouse_toggle(void) { + auto_mouse_context.status.is_toggled ^= 1; + auto_mouse_context.timer.delay = 0; +} + +/** + * @brief Remove current auto mouse target layer from layer state + * + * Will remove auto mouse target layer from given layer state if appropriate. + * + * NOTE: Removal can be forced, ignoring appropriate critera + * + * @params state[in] layer_state_t original layer state + * @params force[in] bool force removal + * + * @return layer_state_t modified layer state + */ +layer_state_t remove_auto_mouse_layer(layer_state_t state, bool force) { + if (force || ((AUTO_MOUSE_ENABLED) && !layer_hold_check())) { + state &= ~((layer_state_t)1 << (AUTO_MOUSE_TARGET_LAYER)); + } + return state; +} + +/** + * @brief Disable target layer + * + * Will disable target layer if appropriate. + * NOTE: NOT TO BE USED in layer_state_set stack!!! + */ +void auto_mouse_layer_off(void) { + if (layer_state_is((AUTO_MOUSE_TARGET_LAYER)) && (AUTO_MOUSE_ENABLED) && !layer_hold_check()) { + layer_off((AUTO_MOUSE_TARGET_LAYER)); + } +} + +/** + * @brief Weak function to handel testing if pointing_device is active + * + * Will trigger target layer activation(if delay timer has expired) and prevent deactivation when true. + * May be replaced by bool in report_mouse_t in future + * + * NOTE: defined weakly to allow for changing and adding conditions for specific hardware/customization + * + * @param[in] mouse_report report_mouse_t + * @return bool of pointing_device activation + */ +__attribute__((weak)) bool auto_mouse_activation(report_mouse_t mouse_report) { + return mouse_report.x != 0 || mouse_report.y != 0 || mouse_report.h != 0 || mouse_report.v != 0 || mouse_report.buttons; +} + +/** + * @brief Update the auto mouse based on mouse_report + * + * Handel activation/deactivation of target layer based on auto_mouse_activation and state timers and local key/layer tracking data + * + * @param[in] mouse_report report_mouse_t + */ +void pointing_device_task_auto_mouse(report_mouse_t mouse_report) { + // skip if disabled, delay timer running, or debounce + if (!(AUTO_MOUSE_ENABLED) || timer_elapsed(auto_mouse_context.timer.active) <= AUTO_MOUSE_DEBOUNCE || timer_elapsed(auto_mouse_context.timer.delay) <= AUTO_MOUSE_DELAY) { + return; + } + // update activation and reset debounce + auto_mouse_context.status.is_activated = auto_mouse_activation(mouse_report); + if (is_auto_mouse_active()) { + auto_mouse_context.timer.active = timer_read(); + auto_mouse_context.timer.delay = 0; + if (!layer_state_is((AUTO_MOUSE_TARGET_LAYER))) { + layer_on((AUTO_MOUSE_TARGET_LAYER)); + } + } else if (layer_state_is((AUTO_MOUSE_TARGET_LAYER)) && timer_elapsed(auto_mouse_context.timer.active) > AUTO_MOUSE_TIME) { + layer_off((AUTO_MOUSE_TARGET_LAYER)); + auto_mouse_context.timer.active = 0; + } +} + +/** + * @brief Handle mouskey event + * + * Increments/decrements mouse_key_tracker and restart active timer + * + * @param[in] pressed bool + */ +void auto_mouse_keyevent(bool pressed) { + if (pressed) { + auto_mouse_context.status.mouse_key_tracker++; + } else { + auto_mouse_context.status.mouse_key_tracker--; + } + auto_mouse_context.timer.delay = 0; +} + +/** + * @brief Handle auto mouse non mousekey reset + * + * Start/restart delay timer and reset auto mouse on keydown as well as turn the + * target layer off if on and reset toggle status + * + * NOTE: NOT TO BE USED in layer_state_set stack!!! + * + * @param[in] pressed bool + */ +void auto_mouse_reset_trigger(bool pressed) { + if (pressed) { + if (layer_state_is((AUTO_MOUSE_TARGET_LAYER))) { + layer_off((AUTO_MOUSE_TARGET_LAYER)); + }; + auto_mouse_reset(); + } + auto_mouse_context.timer.delay = timer_read(); +} + +/** + * @brief handle key events processing for auto mouse + * + * Will process keys differently depending on if key is defined as mousekey or not. + * Some keys have built in behaviour(not overwritable): + * mouse buttons : auto_mouse_keyevent() + * non-mouse keys : auto_mouse_reset_trigger() + * mod keys : skip auto mouse key processing + * mod tap : skip on hold (mod keys) + * QK mods e.g. LCTL(kc): default to non-mouse key, add at kb/user level as needed + * non target layer keys: skip auto mouse key processing (same as mod keys) + * MO(target layer) : auto_mouse_keyevent() + * target layer toggles : auto_mouse_toggle() (on both key up and keydown) + * target layer tap : default processing on tap mouse key on hold + * all other keycodes : default to non-mouse key, add at kb/user level as needed + * + * Will deactivate target layer once a non mouse key is pressed if nothing is holding the layer active + * such as held mousekey, toggled current target layer, or auto_mouse_activation is true + * + * @params keycode[in] uint16_t + * @params record[in] keyrecord_t pointer + */ +bool process_auto_mouse(uint16_t keycode, keyrecord_t* record) { + // skip if not enabled or mouse_layer not set + if (!(AUTO_MOUSE_ENABLED)) return true; + + switch (keycode) { + // Skip Mod keys to avoid layer reset + case KC_LEFT_CTRL ... KC_RIGHT_GUI: + case QK_MODS ... QK_MODS_MAX: + break; + // TO((AUTO_MOUSE_TARGET_LAYER))------------------------------------------------------------------------------- + case QK_TO ... QK_TO_MAX: // same proccessing as next + // TG((AUTO_MOUSE_TARGET_LAYER))------------------------------------------------------------------------------- + case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX: + if ((keycode & 0xff) == (AUTO_MOUSE_TARGET_LAYER)) { + if (!(record->event.pressed)) auto_mouse_toggle(); + } + break; + // MO((AUTO_MOUSE_TARGET_LAYER))------------------------------------------------------------------------------- + case QK_MOMENTARY ... QK_MOMENTARY_MAX: + if ((keycode & 0xff) == (AUTO_MOUSE_TARGET_LAYER)) { + auto_mouse_keyevent(record->event.pressed); + } + // DF --------------------------------------------------------------------------------------------------------- + case QK_DEF_LAYER ... QK_DEF_LAYER_MAX: +# ifndef NO_ACTION_ONESHOT + // OSL((AUTO_MOUSE_TARGET_LAYER))------------------------------------------------------------------------------ + case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX: + case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX: +# endif + break; + // LM((AUTO_MOUSE_TARGET_LAYER), mod)-------------------------------------------------------------------------- + case QK_LAYER_MOD ... QK_LAYER_MOD_MAX: + if (((keycode >> 8) & 0x0f) == (AUTO_MOUSE_TARGET_LAYER)) { + auto_mouse_keyevent(record->event.pressed); + } + break; + // TT((AUTO_MOUSE_TARGET_LAYER))--------------------------------------------------------------------------- +# ifndef NO_ACTION_TAPPING + case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: + if ((keycode & 0xff) == (AUTO_MOUSE_TARGET_LAYER)) { + auto_mouse_keyevent(record->event.pressed); +# if TAPPING_TOGGLE != 0 + if (record->tap.count == TAPPING_TOGGLE) { + if (record->event.pressed) { + auto_mouse_context.status.mouse_key_tracker--; + } else { + auto_mouse_toggle(); + auto_mouse_context.status.mouse_key_tracker++; + } + } +# endif + } + break; + // LT((AUTO_MOUSE_TARGET_LAYER), kc)--------------------------------------------------------------------------- + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: + if (!record->tap.count) { + if (((keycode >> 8) & 0x0f) == (AUTO_MOUSE_TARGET_LAYER)) { + auto_mouse_keyevent(record->event.pressed); + } + break; + } + // MT(kc) only skip on hold + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + if (!record->tap.count) break; +# endif + // QK_MODS goes to default + default: + // skip on no event + if (IS_NOEVENT(record->event)) break; + // check if keyrecord is mousekey + if (is_mouse_record(keycode, record)) { + auto_mouse_keyevent(record->event.pressed); + } else if (!is_auto_mouse_active()) { + // all non-mousekey presses restart delay timer and reset status + auto_mouse_reset_trigger(record->event.pressed); + } + } + if (auto_mouse_context.status.mouse_key_tracker < 0) { + auto_mouse_context.status.mouse_key_tracker = 0; + dprintf("key tracker error (<0) \n"); + } + return true; +} + +/** + * @brief Local function to handle checking if a keycode is a mouse button + * + * Starts code stack for checking keyrecord if defined as mousekey + * + * @params keycode[in] uint16_t + * @params record[in] keyrecord_t pointer + * @return bool true: keyrecord is mousekey false: keyrecord is not mousekey + */ +static bool is_mouse_record(uint16_t keycode, keyrecord_t* record) { + // allow for keyboard to hook in and override if need be + if (is_mouse_record_kb(keycode, record) || IS_MOUSEKEY(keycode)) return true; + return false; +} + +/** + * @brief Weakly defined keyboard level callback for adding keyrecords as mouse keys + * + * Meant for redefinition at keyboard level and should return is_mouse_record_user by default at end of function + * + * @params keycode[in] uint16_t + * @params record[in] keyrecord_t pointer + * @return bool true: keyrecord is defined as mouse key false: keyrecord is not defined as mouse key + */ +__attribute__((weak)) bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record) { + return is_mouse_record_user(keycode, record); +} + +/** + * @brief Weakly defined keymap/user level callback for adding keyrecords as mouse keys + * + * Meant for redefinition at keymap/user level and should return false by default at end of function + * + * @params keycode[in] uint16_t + * @params record[in] keyrecord_t pointer + * @return bool true: keyrecord is defined as mouse key false: keyrecord is not defined as mouse key + */ +__attribute__((weak)) bool is_mouse_record_user(uint16_t keycode, keyrecord_t* record) { + return false; +} + +#endif // POINTING_DEVICE_AUTO_MOUSE_ENABLE diff --git a/quantum/pointing_device/pointing_device_auto_mouse.h b/quantum/pointing_device/pointing_device_auto_mouse.h new file mode 100644 index 000000000000..eaa6aa2c09ee --- /dev/null +++ b/quantum/pointing_device/pointing_device_auto_mouse.h @@ -0,0 +1,87 @@ +/* Copyright 2022 Alabastard + * + * 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 . + */ + +#pragma once + +#include + +#include "quantum.h" +#include "pointing_device.h" +#include "print.h" + +/* check settings and set defaults */ +#ifndef POINTING_DEVICE_AUTO_MOUSE_ENABLE +# error "POINTING_DEVICE_AUTO_MOUSE_ENABLE not defined! check config settings" +#endif + +#ifndef AUTO_MOUSE_DEFAULT_LAYER +# define AUTO_MOUSE_DEFAULT_LAYER 1 +#endif +#ifndef AUTO_MOUSE_TIME +# define AUTO_MOUSE_TIME 650 +#endif +#ifndef AUTO_MOUSE_DELAY + #define AUTO_MOUSE_DELAY GET_TAPPING_TERM(KC_MS_BTN1, &(keyrecord_t){}) +#endif +#ifndef AUTO_MOUSE_DEBOUNCE +# define AUTO_MOUSE_DEBOUNCE 25 +#endif + +/* data structure */ +typedef struct { + struct { + bool is_enabled; + uint8_t layer; + } config; + struct { + uint16_t active; + uint16_t delay; + } timer; + struct { + bool is_activated; + bool is_toggled; + int8_t mouse_key_tracker; + } status; +} auto_mouse_context_t; + +/* ----------Set up and control------------------------------------------------------------------------------ */ +void set_auto_mouse_enable(bool enable); // enable/disable auto mouse feature +bool get_auto_mouse_enable(void); // get auto_mouse_enable +void set_auto_mouse_layer(uint8_t layer); // set target layer by index +uint8_t get_auto_mouse_layer(void); // get target layer index +void auto_mouse_layer_off(void); // disable target layer if appropriate (DO NOT USE in layer_state_set stack!!) +layer_state_t remove_auto_mouse_layer(layer_state_t state, bool force); // remove auto mouse target layer from state if appropriate (can be forced) + +/* ----------For custom pointing device activation----------------------------------------------------------- */ +bool auto_mouse_activation(report_mouse_t mouse_report); // handles pointing device trigger conditions for target layer activation (overwritable) + +/* ----------Handling keyevents------------------------------------------------------------------------------ */ +void auto_mouse_keyevent(bool pressed); // trigger auto mouse keyevent: mouse_keytracker increment/decrement on press/release +void auto_mouse_reset_trigger(bool pressed); // trigger non mouse keyevent: reset and start delay timer (DO NOT USE in layer_state_set stack!!) +void auto_mouse_toggle(void); // toggle mouse layer flag disables mouse layer deactivation while on (meant for tap toggle or toggle of target) +bool get_auto_mouse_toggle(void); // get toggle mouse layer flag value + +/* ----------Callbacks for adding keycodes to mouse record checking------------------------------------------ */ +bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record); +bool is_mouse_record_user(uint16_t keycode, keyrecord_t* record); + +/* ----------Core functions (only used in custom pointing devices or key processing)------------------------- */ +void pointing_device_task_auto_mouse(report_mouse_t mouse_report); // add to pointing_device_task_* +bool process_auto_mouse(uint16_t keycode, keyrecord_t* record); // add to process_record_* + +/* ----------Macros/Aliases---------------------------------------------------------------------------------- */ +#define AUTO_MOUSE_TARGET_LAYER get_auto_mouse_layer() +#define AUTO_MOUSE_ENABLED get_auto_mouse_enable() diff --git a/quantum/pointing_device/pointing_device_drivers.c b/quantum/pointing_device/pointing_device_drivers.c index b96f8ff4b33a..8b5f812cb490 100644 --- a/quantum/pointing_device/pointing_device_drivers.c +++ b/quantum/pointing_device/pointing_device_drivers.c @@ -117,6 +117,15 @@ void cirque_pinnacle_configure_cursor_glide(float trigger_px) { # endif # if CIRQUE_PINNACLE_POSITION_MODE + +# ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE +static bool is_touch_down; + +bool auto_mouse_activation(report_mouse_t mouse_report) { + return is_touch_down || mouse_report.x != 0 || mouse_report.y != 0 || mouse_report.h != 0 || mouse_report.v != 0 || mouse_report.buttons; +} +# endif + report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) { pinnacle_data_t touchData = cirque_pinnacle_read_data(); mouse_xy_report_t report_x = 0, report_y = 0; @@ -146,6 +155,10 @@ report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) { } # endif +# ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE + is_touch_down = touchData.touchDown; +# endif + // Scale coordinates to arbitrary X, Y resolution cirque_pinnacle_scale_data(&touchData, cirque_pinnacle_get_scale(), cirque_pinnacle_get_scale()); diff --git a/quantum/process_keycode/process_rgb.c b/quantum/process_keycode/process_rgb.c index f94834530edd..d43835be989b 100644 --- a/quantum/process_keycode/process_rgb.c +++ b/quantum/process_keycode/process_rgb.c @@ -149,15 +149,6 @@ bool process_rgb(const uint16_t keycode, const keyrecord_t *record) { handleKeycodeRGB(shifted, rgb_matrix_decrease_speed, rgb_matrix_increase_speed); #endif return false; -/* error I'm seeing: -+Linking: .build/xoiviox_barobord_rgblight_pimoroni_ec11_sadekbaroudi.elf [ERRORS] -+ | -+ | /tmp/ccBHLnbF.ltrans0.ltrans.o: In function `process_rgb': -+ | /home/sadek/vial-qmk/quantum/process_keycode/process_rgb.c:63:(.text.process_record+0xe50): relocation truncated to fit: R_AVR_7_PCREL against `no symbol' -+ | collect2: error: ld returned 1 exit status -+ | -+ */ -/* SADEK: Commenting out to reduce the number of items in this switch statement: case RGB_MODE_PLAIN: #if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); @@ -220,7 +211,6 @@ bool process_rgb(const uint16_t keycode, const keyrecord_t *record) { handleKeycodeRGBMode(RGBLIGHT_MODE_TWINKLE, RGBLIGHT_MODE_TWINKLE_end); #endif return false; -*/ } } diff --git a/quantum/quantum.c b/quantum/quantum.c index 9a0016b15060..99170266d485 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -271,6 +271,9 @@ bool process_record_quantum(keyrecord_t *record) { #endif #if defined(VIA_ENABLE) process_record_via(keycode, record) && +#endif +#if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) + process_auto_mouse(keycode, record) && #endif process_record_kb(keycode, record) && #if defined(SECURE_ENABLE) diff --git a/users/sadekbaroudi/config.h b/users/sadekbaroudi/config.h index 6cbb3671afe7..3635b078385e 100755 --- a/users/sadekbaroudi/config.h +++ b/users/sadekbaroudi/config.h @@ -3,85 +3,6 @@ #define COMBO_COUNT 15 #define COMBO_TERM 75 -#ifdef RGBLIGHT_ENABLE -# undef RGBLIGHT_ANIMATIONS -// Comment the line below to save space and reduce the number of animations -//# define RGBLIGHT_ANIMATIONS -// If you comment the line above, uncomment the lines below until "HERE" -# define RGBLIGHT_SLEEP -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -# define RGBLIGHT_EFFECT_STATIC_GRADIENT -# define RGBLIGHT_EFFECT_TWINKLE -// "HERE" -# ifdef RGBLIGHT_HUE_STEP -# undef RGBLIGHT_HUE_STEP -# endif -# ifdef RGBLIGHT_SAT_STEP -# undef RGBLIGHT_SAT_STEP -# endif -# ifdef RGBLIGHT_VAL_STEP -# undef RGBLIGHT_VAL_STEP -# endif -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP -# define RGBLIGHT_LAYERS -# define RGBLIGHT_MAX_LAYERS 32 -//# define RGBLIGHT_STARTUP_ANIMATION true -#endif // RGBLIGHT_ENABLE - -#ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) -// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened) -# define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended -// # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_UP_DOWN -// # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 -// # define EECONFIG_RGB_MATRIX (uint32_t *)16 - -# if defined(__AVR__) && !defined(__AVR_AT90USB1286__) && !defined(KEYBOARD_launchpad) -// Anything you disable here gets disabled globaly. -// # define DISABLE_RGB_MATRIX_ALPHAS_MODS -// # define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN -// # define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -// # define DISABLE_RGB_MATRIX_BREATHING -// # define DISABLE_RGB_MATRIX_BAND_SAT -// # define DISABLE_RGB_MATRIX_BAND_VAL -// # define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -// # define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -// # define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT -// # define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL -// # define DISABLE_RGB_MATRIX_CYCLE_ALL -// # define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -// # define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN -// # define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -// # define DISABLE_RGB_MATRIX_DUAL_BEACON -// # define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL -// # define DISABLE_RGB_MATRIX_CYCLE_SPIRAL -// # define DISABLE_RGB_MATRIX_RAINBOW_BEACON -// # define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS -// # define DISABLE_RGB_MATRIX_RAINDROPS -// # define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -// # define DISABLE_RGB_MATRIX_DIGITAL_RAIN -// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE -// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -// # define DISABLE_RGB_MATRIX_SPLASH -// # define DISABLE_RGB_MATRIX_MULTISPLASH -// # define DISABLE_RGB_MATRIX_SOLID_SPLASH -// # define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH -# endif // AVR -#endif // RGB_MATRIX_ENABLE - #ifdef MOUSEKEY_ENABLE # define MOUSEKEY_INTERVAL 16 # define MOUSEKEY_DELAY 0 @@ -97,3 +18,30 @@ #define TAPPING_FORCE_HOLD #define IGNORE_MOD_TAP_INTERRUPT + +#ifdef AUTO_MOUSE_DEFAULT_LAYER + #undef AUTO_MOUSE_DEFAULT_LAYER +#endif +#define AUTO_MOUSE_DEFAULT_LAYER 6 + +#ifdef CIRQUE_ENABLE + #define POINTING_DEVICE_AUTO_MOUSE_ENABLE +#endif + +// Define only one of the two below, but not both. +// Read here for details: https://github.com/sadekbaroudi/qmk_firmware/tree/master/keyboards/fingerpunch#layer-lighting + +// #define FP_LAYER_LIGHTING_AUTO_MOUSE_ENABLE + +#define FP_LAYER_LIGHTING_HUE_2 FP_HSV_MINT +#define FP_LAYER_LIGHTING_HUE_3 FP_HSV_LAVENDER +#define FP_LAYER_LIGHTING_HUE_4 FP_HSV_LEMON +#define FP_LAYER_LIGHTING_HUE_5 FP_HSV_MELON + +#define FP_POINTING_SNIPING_LAYER_ENABLE +#define FP_POINTING_SCROLLING_LAYER_ENABLE + +#ifdef FP_POINTING_SCROLLING_LAYER + #undef FP_POINTING_SCROLLING_LAYER +#endif +#define FP_POINTING_SCROLLING_LAYER 4 diff --git a/users/sadekbaroudi/encoder_stuff.c b/users/sadekbaroudi/encoder_stuff.c index f86eb037878e..9ecf262a23e6 100644 --- a/users/sadekbaroudi/encoder_stuff.c +++ b/users/sadekbaroudi/encoder_stuff.c @@ -78,18 +78,18 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } break; case _FUNCTION: - // super alt tab + // super alt tab if (clockwise) { #ifdef ENCODERS_B_REVERSE - press_super_alt_tab(true); + press_super_tab(true); #else - press_super_alt_tab(false); + press_super_tab(false); #endif } else { #ifdef ENCODERS_B_REVERSE - press_super_alt_tab(false); + press_super_tab(false); #else - press_super_alt_tab(true); + press_super_tab(true); #endif } break; diff --git a/users/sadekbaroudi/hid.c b/users/sadekbaroudi/hid.c index fca9b93b5d16..936e2cd36642 100644 --- a/users/sadekbaroudi/hid.c +++ b/users/sadekbaroudi/hid.c @@ -2,7 +2,7 @@ #include "raw_hid.h" #include #include -#ifdef RGBLIGHT_ENABLE +#ifdef USERSPACE_RGBLIGHT_ENABLE #include "rgblight.h" #endif @@ -11,7 +11,7 @@ __attribute__((weak)) bool raw_hid_receive_keymap(uint8_t *data, uint8_t length) { return false; } void raw_hid_receive(uint8_t *data, uint8_t length) { - #ifdef RGBLIGHT_ENABLE + #ifdef USERSPACE_RGBLIGHT_ENABLE if (raw_hid_receive_keymap(data, length)) { return; } @@ -27,4 +27,4 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { } } #endif -} \ No newline at end of file +} diff --git a/users/sadekbaroudi/pointing_stuff.c b/users/sadekbaroudi/pointing_stuff.c index 40c225859fdb..542ad301d835 100644 --- a/users/sadekbaroudi/pointing_stuff.c +++ b/users/sadekbaroudi/pointing_stuff.c @@ -1,6 +1,9 @@ #include "sadekbaroudi.h" #include "pointing_stuff.h" +// all handled in keyboards/fingerpunch/fp_pointing.c now + +/* static bool scrolling_mode = false; report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { @@ -46,4 +49,13 @@ void pointing_device_set_cpi_combined_defaults(void) { pointing_device_set_cpi_on_side(true, 50); //Set cpi on left side to a low value for slower scrolling. pointing_device_set_cpi_on_side(false, 2000); //Set cpi on right side to a reasonable value for mousing. } -#endif +#endif + +#ifdef POINTING_DEVICE_ENABLE +void pointing_device_init_user(void) { +# ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE + set_auto_mouse_enable(true); // always required before the auto mouse feature will work +# endif +} +#endif +*/ diff --git a/users/sadekbaroudi/pointing_stuff.h b/users/sadekbaroudi/pointing_stuff.h index f435f38994aa..38b804ed0f71 100644 --- a/users/sadekbaroudi/pointing_stuff.h +++ b/users/sadekbaroudi/pointing_stuff.h @@ -1,5 +1,9 @@ #pragma once #include QMK_KEYBOARD_H +// all handled in keyboards/fingerpunch/fp_pointing.h now + +/* layer_state_t layer_state_set_pointing(layer_state_t state); -void pointing_device_set_cpi_combined_defaults(void); \ No newline at end of file +void pointing_device_set_cpi_combined_defaults(void); +*/ diff --git a/users/sadekbaroudi/process_records.c b/users/sadekbaroudi/process_records.c index f6c8793ec2ca..12991b768654 100755 --- a/users/sadekbaroudi/process_records.c +++ b/users/sadekbaroudi/process_records.c @@ -1,6 +1,6 @@ #include "sadekbaroudi.h" #include "casemodes.h" -#if defined(RGBLIGHT_ENABLE) +#if defined(USERSPACE_RGBLIGHT_ENABLE) #include "rgb_stuff.h" #endif #ifdef HAPTIC_ENABLE @@ -33,7 +33,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // #ifdef RGB_MATRIX_ENABLE // && process_record_user_rgb_matrix(keycode, record) // #endif -#ifdef RGBLIGHT_ENABLE +#ifdef USERSPACE_RGBLIGHT_ENABLE && process_record_user_rgb_light(keycode, record) #endif && true)) { @@ -41,15 +41,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } switch (keycode) { - case KC_CAPSLOCK: - if (record->event.pressed) { - if (is_caps_lock_on) { - is_caps_lock_on = false; - } else { - is_caps_lock_on = true; - } - } - break; // COMMENT TO DISABLE MACROS case KC_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader if (!record->event.pressed) { @@ -89,49 +80,49 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case KC_RGB_T: // This allows me to use underglow as layer indication, or as normal -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) +#if defined(USERSPACE_RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) if (record->event.pressed) { userspace_config.rgb_layer_change ^= 1; xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change); eeconfig_update_user(userspace_config.raw); if (userspace_config.rgb_layer_change) { -// # if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) -// rgblight_enable_noeeprom(); +// # if defined(USERSPACE_RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) +// USERSPACE_RGBLIGHT_ENABLE_noeeprom(); // # endif layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better) } else { -// # if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) +// # if defined(USERSPACE_RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) // rgblight_disable_noeeprom(); // # endif -# if defined(RGBLIGHT_ENABLE) +# if defined(USERSPACE_RGBLIGHT_ENABLE) rgblight_set_hsv_and_mode(userspace_config.hue, userspace_config.sat, userspace_config.val, userspace_config.mode); # endif ; } } -#endif // RGBLIGHT_ENABLE +#endif // USERSPACE_RGBLIGHT_ENABLE break; case KC_RGB_BLT: // This enables the base layer as a static color, or allows you to override using RGB -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) +#if defined(USERSPACE_RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) if (record->event.pressed) { userspace_config.rgb_base_layer_override ^= 1; xprintf("rgblight base layer override change [EEPROM]: %u\n", userspace_config.rgb_base_layer_override); eeconfig_update_user(userspace_config.raw); if (userspace_config.rgb_base_layer_override) { -// # if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) -// rgblight_enable_noeeprom(); +// # if defined(USERSPACE_RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) +// USERSPACE_RGBLIGHT_ENABLE_noeeprom(); // # endif layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better) -// # if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) +// # if defined(USERSPACE_RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) // } else { // rgblight_disable_noeeprom(); // # endif } } -#endif // RGBLIGHT_ENABLE +#endif // USERSPACE_RGBLIGHT_ENABLE break; -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) +#if defined(USERSPACE_RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) case RGB_TOG: // Split keyboards need to trigger on key-up for edge-case issue # ifndef SPLIT_KEYBOARD @@ -139,7 +130,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { # else if (!record->event.pressed) { # endif -# if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) +# if defined(USERSPACE_RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) rgblight_toggle(); # endif // # if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) @@ -154,7 +145,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool is_eeprom_updated = false; if (userspace_config.rgb_layer_change) { -# if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) +# if defined(USERSPACE_RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) // For some reason, this breaks setting base layer colors on the draculad, need to comment this line out rgblight_set_hsv_and_mode(userspace_config.hue, userspace_config.sat, userspace_config.val, userspace_config.mode); # endif @@ -172,69 +163,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } if (!record->event.pressed) { -# if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) +# if defined(USERSPACE_RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) rgb_set_user_config_from_current_values(); # endif } break; #endif - case KC_BTN1: - if (record->event.pressed) { -#ifdef HAPTIC_ENABLE - DRV_pulse(medium_click1); -#endif - } - break; - case KC_BTN2: - if (record->event.pressed) { -#ifdef HAPTIC_ENABLE - DRV_pulse(sh_dblclick_str); -#endif - } - break; - case KC_BTN3: - if (record->event.pressed) { -#ifdef HAPTIC_ENABLE - // DRV_pulse(lg_dblclick_med); -#endif - } - break; - case KC_C: // copy - if (record->event.pressed) { -#ifdef HAPTIC_ENABLE - if (get_mods() & MOD_MASK_CTRL) { - DRV_pulse(lg_dblclick_str); - } -#endif - } - break; - case KC_X: // cut - if (record->event.pressed) { -#ifdef HAPTIC_ENABLE - if (get_mods() & MOD_MASK_CTRL) { - DRV_pulse(lg_dblclick_str); - } -#endif - } - break; - case KC_V: // paste - if (record->event.pressed) { -#ifdef HAPTIC_ENABLE - if (get_mods() & MOD_MASK_CTRL) { - DRV_pulse(soft_bump); - } -#endif - } - break; - case KC_S: // save - if (record->event.pressed) { -#ifdef HAPTIC_ENABLE - if (get_mods() & MOD_MASK_CTRL) { - DRV_pulse(pulsing_strong); - } -#endif - } - break; case C_CAPSWORD: // NOTE: if you change this behavior, may want to update in keymap.c for COMBO behavior #ifdef CASEMODES_ENABLE @@ -256,7 +190,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { enable_xcase(); } #endif - break; + break; case C_UNDERSCORECASE: #ifdef CASEMODES_ENABLE if (record->event.pressed) { @@ -304,13 +238,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { unregister_code(KC_LSHIFT); } break; - case S_ALT_TAB: - if (record->event.pressed) { - press_super_alt_tab(false); - } else { - // when keycode is released - } - break; case P_ANGBRKT: if (record->event.pressed) { SEND_STRING("<>"SS_TAP(X_LEFT)); diff --git a/users/sadekbaroudi/process_records.h b/users/sadekbaroudi/process_records.h index 7e9cf46fe98e..1aeda8561417 100755 --- a/users/sadekbaroudi/process_records.h +++ b/users/sadekbaroudi/process_records.h @@ -1,7 +1,29 @@ #pragma once #include "sadekbaroudi.h" -#if defined(KEYMAP_SAFE_RANGE) +#if defined(KEYBOARD_fingerpunch_arachnophobe) \ + || defined(KEYBOARD_fingerpunch_barobord) \ + || defined(KEYBOARD_fingerpunch_barobord_byomcu) \ + || defined(KEYBOARD_fingerpunch_bgkeeb) \ + || defined(KEYBOARD_fingerpunch_bigbarobord) \ + || defined(KEYBOARD_fingerpunch_euclid36) \ + || defined(KEYBOARD_fingerpunch_euclid36_proto) \ + || defined(KEYBOARD_fingerpunch_ffkb) \ + || defined(KEYBOARD_fingerpunch_ffkb_byomcu_v1) \ + || defined(KEYBOARD_fingerpunch_ffkb_byomcu_v2) \ + || defined(KEYBOARD_fingerpunch_ffkb_byomcu_v3) \ + || defined(KEYBOARD_fingerpunch_fflx) \ + || defined(KEYBOARD_fingerpunch_luakeeb) \ + || defined(KEYBOARD_fingerpunch_pinkiesout) \ + || defined(KEYBOARD_fingerpunch_rockon_v1) \ + || defined(KEYBOARD_fingerpunch_rockon_v2) \ + || defined(KEYBOARD_fingerpunch_rockon_v3) \ + || defined(KEYBOARD_fingerpunch_rockon_bp) \ + || defined(KEYBOARD_fingerpunch_sweeeeep) \ + || defined(KEYBOARD_fingerpunch_ximi) \ + || defined(KEYBOARD_fingerpunch_personal_badwings) +# define PLACEHOLDER_SAFE_RANGE FP_SAFE_RANGE +#elif defined(KEYMAP_SAFE_RANGE) # define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE #else # define PLACEHOLDER_SAFE_RANGE SAFE_RANGE @@ -12,7 +34,6 @@ enum userspace_custom_keycodes { KC_RGB_T, // Toggles RGB Layer Indication mode KC_RGB_BLT, // Toggles RGB Base Layer Override mode RGB_IDL, // RGB Idling animations - // COMMENT TO DISABLE MACROS KC_MAKE, // Run keyboard's customized make command L_GREP, L_FIND, @@ -35,7 +56,7 @@ enum userspace_custom_keycodes { G_GOD_OFF, G_PULLING, G_PUSH, - NEW_SAFE_RANGE // use "NEWPLACEHOLDER for keymap specific codes + NEW_SAFE_RANGE }; bool process_record_secrets(uint16_t keycode, keyrecord_t *record); diff --git a/users/sadekbaroudi/rgb_stuff.c b/users/sadekbaroudi/rgb_stuff.c index 8e30cb996591..708fccaf4262 100755 --- a/users/sadekbaroudi/rgb_stuff.c +++ b/users/sadekbaroudi/rgb_stuff.c @@ -2,6 +2,7 @@ #include "rgb_stuff.h" #include "eeprom.h" +/* NO USERSPACE RGB #ifdef PIMORONI_TRACKBALL_ENABLE #include "drivers/sensors/pimoroni_trackball.h" #include "pointing_device.h" @@ -35,7 +36,7 @@ void keyboard_post_init_rgb_light(void) { #if defined(RGBLIGHT_STARTUP_ANIMATION) is_enabled = rgblight_is_enabled(); if (userspace_config.rgb_layer_change) { - rgblight_enable_noeeprom(); + USERSPACE_RGBLIGHT_ENABLE_noeeprom(); } if (rgblight_is_enabled()) { layer_state_set_rgb_light(layer_state); @@ -76,7 +77,7 @@ void rgblight_set_hsv_and_mode(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mo } void rgb_set_user_config_from_current_values() { -#ifdef RGBLIGHT_ENABLE +#ifdef USERSPACE_RGBLIGHT_ENABLE userspace_config.mode = rgblight_get_mode(); userspace_config.hue = rgblight_get_hue(); userspace_config.sat = rgblight_get_sat(); @@ -91,7 +92,7 @@ void rgb_set_user_config_from_current_values() { __attribute__((weak)) bool rgb_base_layer_keymap(layer_state_t state) { return false; } layer_state_t layer_state_set_rgb_light(layer_state_t state) { -#ifdef RGBLIGHT_ENABLE +#ifdef USER_USERSPACE_RGBLIGHT_ENABLE if (userspace_config.rgb_layer_change) { //uint8_t mode = layer_state_cmp(state,_MEDIA) ? RGBLIGHT_MODE_BREATHING : RGBLIGHT_MODE_STATIC_LIGHT; uint8_t mode = RGBLIGHT_MODE_STATIC_LIGHT; @@ -100,20 +101,7 @@ layer_state_t layer_state_set_rgb_light(layer_state_t state) { #endif switch (get_highest_layer(state|default_layer_state)) { case _ALPHA: - if (is_caps_lock_on) { // If caps lock is enabled, force this setting - uint8_t caps_lock_rgb_hue = 127; // CYAN - uint8_t caps_lock_rgb_mode = mode; - #ifdef CAPS_LOCK_RGB_HUE - caps_lock_rgb_hue = CAPS_LOCK_RGB_HUE; - #endif - #ifdef CAPS_LOCK_RGB_MODE - caps_lock_rgb_mode = CAPS_LOCK_RGB_MODE; - #endif - rgblight_set_hsv_and_mode(caps_lock_rgb_hue, 255, 255, caps_lock_rgb_mode); - #ifdef PIMORONI_TRACKBALL_ENABLE - trackball_set_rgbw(RGB_RED, 0x00); - #endif - } else if (userspace_config.rgb_base_layer_override) { // If the base layer override is enabled, use that + if (userspace_config.rgb_base_layer_override) { // If the base layer override is enabled, use that rgblight_set_hsv_and_mode(userspace_config.hue, userspace_config.sat, userspace_config.val, userspace_config.mode); #ifdef PIMORONI_TRACKBALL_ENABLE trackball_set_rgbw(RGB_BLUE, 0x00); @@ -192,7 +180,8 @@ layer_state_t layer_state_set_rgb_light(layer_state_t state) { break; } } -#endif // RGBLIGHT_ENABLE +#endif // USERSPACE_RGBLIGHT_ENABLE return state; } +*/ diff --git a/users/sadekbaroudi/rgb_stuff.h b/users/sadekbaroudi/rgb_stuff.h index e0465f09accd..df69b35b7d89 100755 --- a/users/sadekbaroudi/rgb_stuff.h +++ b/users/sadekbaroudi/rgb_stuff.h @@ -1,6 +1,7 @@ #pragma once #include "quantum.h" +/* NO USERSPACE RGB bool process_record_user_rgb_light(uint16_t keycode, keyrecord_t *record); void keyboard_post_init_rgb_light(void); void matrix_scan_rgb_light(void); @@ -14,3 +15,4 @@ void rgb_set_user_config_from_current_values(void); #if defined(RGBLIGHT_TWINKLE) void scan_rgblight_fadeout(void); #endif +*/ diff --git a/users/sadekbaroudi/rules.mk b/users/sadekbaroudi/rules.mk index c7f6751513c0..b7cd85ef2a97 100755 --- a/users/sadekbaroudi/rules.mk +++ b/users/sadekbaroudi/rules.mk @@ -2,7 +2,7 @@ SRC += sadekbaroudi.c \ process_records.c COMMAND_ENABLE = no # Commands for debug and configuration -CONSOLE_ENABLE = no # Console for debug +CONSOLE_ENABLE = yes # Console for debug UNICODE_ENABLE = no # Unicode SWAP_HANDS_ENABLE= no # Allow swapping hands of keyboard BACKLIGHT_ENABLE = no @@ -28,11 +28,9 @@ ifneq ($(strip $(NO_SECRETS)), yes) endif endif -ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) +ifeq ($(strip $(USERSPACE_RGBLIGHT_ENABLE)), yes) SRC += rgb_stuff.c - ifeq ($(strip $(RGBLIGHT_NOEEPROM)), yes) - OPT_DEFS += -DRGBLIGHT_NOEEPROM - endif + OPT_DEFS += -DUSERSPACE_RGBLIGHT_ENABLE endif # RGB_MATRIX_ENABLE ?= no @@ -75,4 +73,4 @@ endif ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) SRC += pointing_stuff.c -endif \ No newline at end of file +endif diff --git a/users/sadekbaroudi/sadekbaroudi.c b/users/sadekbaroudi/sadekbaroudi.c index 77219cbdefbc..39edc41e254f 100755 --- a/users/sadekbaroudi/sadekbaroudi.c +++ b/users/sadekbaroudi/sadekbaroudi.c @@ -1,7 +1,5 @@ #include "sadekbaroudi.h" -#define USER_SUPER_ALT_TAB_TIMEOUT 500 - #ifdef PIMORONI_TRACKBALL_ENABLE #include "drivers/sensors/pimoroni_trackball.h" #include "pointing_device.h" @@ -13,15 +11,6 @@ #endif userspace_config_t userspace_config; -bool is_caps_lock_on; -bool is_alt_tab_active = false; -uint16_t alt_tab_timer = 0; - -void handle_caps_lock_change(void) { -#if defined(RGBLIGHT_ENABLE) // We only do this because we want the layer color to change - layer_state_set_rgb_light(layer_state); -#endif // RGBLIGHT_ENABLE -} // Leader key combos - TODO move into another file? #if defined(LEADER_ENABLE) @@ -116,7 +105,7 @@ void keyboard_pre_init_user(void) { // hack for a weird issue where userspace_config.val gets set to 0 on keyboard restart userspace_config.val = 255; - + keyboard_pre_init_keymap(); } // Add reconfigurable functions here, for keymap customization @@ -134,19 +123,18 @@ void matrix_init_user(void) { __attribute__((weak)) void keyboard_post_init_keymap(void) {} void keyboard_post_init_user(void) { - is_caps_lock_on = false; - #if defined(PIMORONI_TRACKBALL_ENABLE) && !defined(RGBLIGHT_ENABLE) + #if defined(PIMORONI_TRACKBALL_ENABLE) && !defined(USERSPACE_RGBLIGHT_ENABLE) pimoroni_trackball_set_rgbw(RGB_BLUE, 0x00); #endif -#if defined(RGBLIGHT_ENABLE) +#if defined(USERSPACE_RGBLIGHT_ENABLE) keyboard_post_init_rgb_light(); #endif // #if defined(RGB_MATRIX_ENABLE) // keyboard_post_init_rgb_matrix(); // #endif -#if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_COMBINED) - pointing_device_set_cpi_combined_defaults(); -#endif +// #if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_COMBINED) +// pointing_device_set_cpi_combined_defaults(); +// #endif keyboard_post_init_keymap(); } @@ -155,8 +143,8 @@ __attribute__((weak)) void shutdown_keymap(void) {} void rgb_matrix_update_pwm_buffers(void); void shutdown_user(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable_noeeprom(); +#ifdef USERSPACE_RGBLIGHT_ENABLE + USERSPACE_RGBLIGHT_ENABLE_noeeprom(); rgblight_mode_noeeprom(1); rgblight_setrgb_red(); #endif @@ -186,17 +174,9 @@ void matrix_scan_user(void) { startup_user(); } -#if defined(RGBLIGHT_ENABLE) +#if defined(USERSPACE_RGBLIGHT_ENABLE) matrix_scan_rgb_light(); -#endif // RGBLIGHT_ENABLE - - // We do this in matrix scan in case there are two keyboards connected and we - // need to make sure this keyboard is aware - led_t led_state = host_keyboard_led_state(); - if (led_state.caps_lock != is_caps_lock_on) { - is_caps_lock_on = led_state.caps_lock; - handle_caps_lock_change(); - } +#endif // USERSPACE_RGBLIGHT_ENABLE // #if defined(RGB_MATRIX_ENABLE) // matrix_scan_rgb_matrix(); @@ -206,44 +186,23 @@ void matrix_scan_user(void) { matrix_scan_leader_key(); #endif - if (is_alt_tab_active) { - if (timer_elapsed(alt_tab_timer) > USER_SUPER_ALT_TAB_TIMEOUT) { - unregister_code(KC_LALT); - is_alt_tab_active = false; - } - } - matrix_scan_keymap(); } -void press_super_alt_tab(bool shift) { - if (shift) { - register_code(KC_LSHIFT); - } - if (!is_alt_tab_active) { - is_alt_tab_active = true; - register_code(KC_LALT); - } - alt_tab_timer = timer_read(); - tap_code(KC_TAB); - if (shift) { - unregister_code(KC_LSHIFT); - } -} - __attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state) { return state; } // on layer change, no matter where the change was initiated // Then runs keymap's layer change check layer_state_t layer_state_set_user(layer_state_t state) { -#if defined(RGBLIGHT_ENABLE) +#if defined(USERSPACE_RGBLIGHT_ENABLE) state = layer_state_set_rgb_light(state); -#endif // RGBLIGHT_ENABLE +#endif // USERSPACE_RGBLIGHT_ENABLE #if defined(HAPTIC_ENABLE) state = layer_state_set_haptic(state); #endif // HAPTIC_ENABLE #if defined(POINTING_DEVICE_ENABLE) - state = layer_state_set_pointing(state); +// all handled in keyboards/fingerpunch/fp_pointing.c now +// state = layer_state_set_pointing(state); #endif // HAPTIC_ENABLE return layer_state_set_keymap(state); } @@ -269,7 +228,7 @@ void eeconfig_init_user(void) { userspace_config.raw = 0; userspace_config.rgb_base_layer_override = false; userspace_config.rgb_layer_change = true; - #ifdef RGBLIGHT_ENABLE + #ifdef USERSPACE_RGBLIGHT_ENABLE userspace_config.mode = RGBLIGHT_MODE_STATIC_LIGHT; #endif userspace_config.hue = 167; // BLUE @@ -311,4 +270,4 @@ void housekeeping_task_user(void) { layer_state_set_user(layer_state); } } -#endif \ No newline at end of file +#endif diff --git a/users/sadekbaroudi/sadekbaroudi.h b/users/sadekbaroudi/sadekbaroudi.h index 3cacac1c39f1..1a5f895549e2 100755 --- a/users/sadekbaroudi/sadekbaroudi.h +++ b/users/sadekbaroudi/sadekbaroudi.h @@ -21,7 +21,7 @@ #include "eeprom.h" #include "wrappers.h" #include "process_records.h" -#if defined(RGBLIGHT_ENABLE) +#if defined(USERSPACE_RGBLIGHT_ENABLE) # include "rgb_stuff.h" #endif #if defined(HAPTIC_ENABLE) @@ -41,8 +41,8 @@ enum userspace_layers { _FUNCTION, _MEDIA, _MOUSE, - _KICAD, - _GAME + _GAME, + _KICAD }; void press_super_alt_tab(bool shift); @@ -75,4 +75,4 @@ typedef union { // clang-format on extern userspace_config_t userspace_config; -extern bool is_caps_lock_on; + diff --git a/users/sadekbaroudi/template.c b/users/sadekbaroudi/template.c index 833447daac4f..fce18c36b3ec 100755 --- a/users/sadekbaroudi/template.c +++ b/users/sadekbaroudi/template.c @@ -71,9 +71,9 @@ void suspend_wakeup_init_user(void) { __attribute__((weak)) void startup_keymap(void) {} void startup_user(void) { -#ifdef RGBLIGHT_ENABLE +#ifdef USERSPACE_RGBLIGHT_ENABLE matrix_init_rgb(); -#endif // RGBLIGHT_ENABLE +#endif // USERSPACE_RGBLIGHT_ENABLE startup_keymap(); } diff --git a/users/sadekbaroudi/wrappers.h b/users/sadekbaroudi/wrappers.h index 4796a9759ce1..2b0a75381c84 100755 --- a/users/sadekbaroudi/wrappers.h +++ b/users/sadekbaroudi/wrappers.h @@ -121,6 +121,16 @@ expanded before being used as arguments to the LAYOUT_xxx macro. # define LAYOUT LAYOUT_ximi #endif +// Since badwings uses the name LAYOUT_badwings instead of LAYOUT +#if (!defined(LAYOUT) && defined(LAYOUT_badwings)) +# define LAYOUT LAYOUT_badwings +#endif + +// Since badwings uses the name LAYOUT_badwings instead of LAYOUT +#if (!defined(LAYOUT) && defined(LAYOUT_fflx)) +# define LAYOUT LAYOUT_fflx +#endif + // clang-format off #define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__) @@ -334,11 +344,11 @@ NOTE: These are all the same length. If you do a search/replace // SHIFT NAVIGATION LAYER -#define __SHIFTNAV_1_K1__ _______ +#define __SHIFTNAV_1_K1__ QK_BOOT #define __SHIFTNAV_1_K2__ LSFT(KC_PGUP) #define __SHIFTNAV_1_K3__ LSFT(KC_UP) #define __SHIFTNAV_1_K4__ LSFT(KC_PGDN) -#define __SHIFTNAV_1_K5__ _______ +#define __SHIFTNAV_1_K5__ EEP_RST #define __SHIFTNAV_2_K1__ LSFT(KC_HOME) #define __SHIFTNAV_2_K2__ LSFT(KC_LEFT) @@ -432,7 +442,7 @@ NOTE: These are all the same length. If you do a search/replace // MOUSE LAYER -#define __MOUSE_1_K1__ QK_BOOT +#define __MOUSE_1_K1__ _______ #define __MOUSE_1_K2__ KC_MS_WH_UP #define __MOUSE_1_K3__ KC_MS_UP #define __MOUSE_1_K4__ KC_MS_WH_DOWN @@ -444,7 +454,7 @@ NOTE: These are all the same length. If you do a search/replace #define __MOUSE_2_K4__ KC_MS_RIGHT #define __MOUSE_2_K5__ KC_MS_WH_RIGHT -#define __MOUSE_3_K1__ EEP_RST +#define __MOUSE_3_K1__ _______ #define __MOUSE_3_K2__ KC_MS_WH_UP #define __MOUSE_3_K3__ KC_MS_WH_DOWN #define __MOUSE_3_K4__ KC_MS_ACCEL1 @@ -454,6 +464,28 @@ NOTE: These are all the same length. If you do a search/replace #define __________________MOUSE_2__________________ __MOUSE_2_K1__, __MOUSE_2_K2__, __MOUSE_2_K3__, __MOUSE_2_K4__, __MOUSE_2_K5__ #define __________________MOUSE_3__________________ __MOUSE_3_K1__, __MOUSE_3_K2__, __MOUSE_3_K3__, __MOUSE_3_K4__, __MOUSE_3_K5__ +#define __AMOUSE_1_K1_ _______ +#define __AMOUSE_1_K2_ KC_MS_WH_UP +#define __AMOUSE_1_K3_ KC_MS_UP +#define __AMOUSE_1_K4_ KC_MS_WH_DOWN +#define __AMOUSE_1_K5_ _______ + +#define __AMOUSE_2_K1_ KC_MS_WH_LEFT +#define __AMOUSE_2_K2_ KC_BTN3 +#define __AMOUSE_2_K3_ KC_BTN2 +#define __AMOUSE_2_K4_ KC_BTN1 +#define __AMOUSE_2_K5_ KC_MS_WH_RIGHT + +#define __AMOUSE_3_K1_ EEP_RST +#define __AMOUSE_3_K2_ KC_MS_WH_UP +#define __AMOUSE_3_K3_ KC_MS_WH_DOWN +#define __AMOUSE_3_K4_ KC_MS_ACCEL1 +#define __AMOUSE_3_K5_ KC_MS_ACCEL2 + +#define _______________AUTO_MOUSE_1________________ __AMOUSE_1_K1_, __AMOUSE_1_K2_, __AMOUSE_1_K3_, __AMOUSE_1_K4_, __AMOUSE_1_K5_ +#define _______________AUTO_MOUSE_2________________ __AMOUSE_2_K1_, __AMOUSE_2_K2_, __AMOUSE_2_K3_, __AMOUSE_2_K4_, __AMOUSE_2_K5_ +#define _______________AUTO_MOUSE_3________________ __AMOUSE_3_K1_, __AMOUSE_3_K2_, __AMOUSE_3_K3_, __AMOUSE_3_K4_, __AMOUSE_3_K5_ + // Zoom Home Add Line Add Arc Add Polygon Add Circle #define ___________________KICAD_0_________________ KC_HOME, LCTL(LSFT(KC_L)), LCTL(LSFT(KC_A)), LCTL(LSFT(KC_P)), LCTL(LSFT(KC_C)) // Drag 45 degree Move Dialog Flip Pos Relative Select Net