Merge pull request #29 from sadekbaroudi/fp/vik_complete_module_support_ximega_test
better generic vik support to handle all modules in one go
This commit is contained in:
commit
a329d8c035
|
|
@ -61,6 +61,7 @@ For an example, see `keyboards/fingerpunch/ximi/config.h`, which uses the `FP_ST
|
|||
#define FP_STARTUP_LIGHT_EXT HALF_NOTE(_E6), HALF_NOTE(_F6), HALF_NOTE(_C6), WHOLE_NOTE(_A5), WHOLE_DOT_NOTE(_F5), WHOLE_DOT_NOTE(_D5), WHOLE_DOT_NOTE(_G5), WHOLE_DOT_NOTE(_C5),
|
||||
#define FP_STARTUP_DARK HALF_DOT_NOTE(_B5), QUARTER_NOTE(_B5), HALF_NOTE(_E6), HALF_NOTE(_REST), QUARTER_NOTE(_C6), QUARTER_NOTE(_REST), QUARTER_NOTE(_G5), QUARTER_NOTE(_E5), QUARTER_NOTE(_F5), QUARTER_NOTE(_GS5), QUARTER_NOTE(_G5), QUARTER_NOTE(_F5), WHOLE_NOTE(_G5),
|
||||
#define FP_MARIO QUARTER_NOTE(_E5), QUARTER_NOTE(_E5), QUARTER_NOTE(_REST), QUARTER_NOTE(_E5), QUARTER_NOTE(_REST), QUARTER_NOTE(_C5), QUARTER_NOTE(_E5), QUARTER_NOTE(_REST), QUARTER_NOTE(_G5), HALF_DOT_NOTE(_REST), QUARTER_NOTE(_G4),
|
||||
#define FP_STARTUP_XIMEGA WHOLE_NOTE(_FS5), QUARTER_NOTE(_A5), HALF_DOT_NOTE(_B5), WHOLE_NOTE(_D6), QUARTER_NOTE(_REST), HALF_DOT_NOTE(_B5), HALF_DOT_NOTE(_FS5), HALF_DOT_NOTE(_D5), HALF_DOT_NOTE(_E5), HALF_NOTE(_REST), HALF_DOT_NOTE(_D5), HALF_DOT_NOTE(_B4),
|
||||
```
|
||||
|
||||
### Shared RGB effects
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ Note: if you are using a userspace, and you have custom keycodes, you will need
|
|||
|| defined(KEYBOARD_fingerpunch_sweeeeep) \
|
||||
|| defined(KEYBOARD_fingerpunch_vulpes_minora) \
|
||||
|| defined(KEYBOARD_fingerpunch_vulpes_majora_v1) \
|
||||
|| defined(KEYBOARD_fingerpunch_ximega) \
|
||||
|| defined(KEYBOARD_fingerpunch_ximi)
|
||||
# define PLACEHOLDER_SAFE_RANGE FP_SAFE_RANGE
|
||||
#else
|
||||
|
|
@ -334,7 +335,7 @@ When using a fingerpunch board, the get_haptic_enabled_key is completely overrid
|
|||
* NO_HAPTIC_PUNCTUATION
|
||||
* etc...
|
||||
|
||||
See https://github.com/qmk/qmk_firmware/blob/master/docs/feature_haptic_feedback.md#haptic-key-exclusion for details
|
||||
See https://github.com/qmk/qmk_firmware/blob/master/docs/features/haptic_feedback.md#haptic-key-exclusion for details
|
||||
|
||||
If you'd like to override this, you'll need to create a function as follows:
|
||||
`bool get_haptic_enabled_key_user(uint16_t keycode, keyrecord_t *record)`
|
||||
|
|
@ -364,15 +365,45 @@ Note that the ctrl-X audio responses will use control as the modifier, so it won
|
|||
|
||||
| Setting | Description | Default |
|
||||
| --------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------- |
|
||||
| `FP_AUDIO_MOUSE_BUTTONS` | (Optional) Enable audio response for Mouse 1, 2, and 3 | `undefined` |
|
||||
| `FP_AUDIO_CUT_COPY_PASTE` | (Optional) Enable audio response for ctrl-x, ctrl-c, ctrl-v | `undefined` |
|
||||
| `FP_AUDIO_SAVE` | (Optional) Enable audio response for ctrl-s | `undefined` |
|
||||
| `FP_AUDIO_MOUSE_BUTTONS` | (Optional) Enable audio response for Mouse 1, 2, and 3 | `undefined` |
|
||||
| `FP_AUDIO_CUT_COPY_PASTE` | (Optional) Enable audio response for ctrl-x, ctrl-c, ctrl-v | `undefined` |
|
||||
| `FP_AUDIO_SAVE` | (Optional) Enable audio response for ctrl-s | `undefined` |
|
||||
|
||||
## VIK
|
||||
|
||||
## Keymap
|
||||
VIK features are automatically integrated when a keyboard is properly configured using the fingerpunch VIK library. If you'd like to support these VIK features, please see the [FP_LIBRARY_SUPPORT](./FP_LIBRARY_SUPPORT.md) page
|
||||
|
||||
If you are looking to use process_record_kb() or process_record
|
||||
All fingerpunch boards with a VIK connector support the features below. When compiling, you can add the flags below. Please note that the `*_RIGHT` features are for split boards only, and that pointing devices will require additional configuration to change orientation or invert the axis. See the [QMK documentation for pointing devices](https://github.com/qmk/qmk_firmware/blob/master/docs/features/pointing_device.md#common-configuration) if you need to change the pointing orientation.
|
||||
|
||||
Important notes:
|
||||
* For split keyboards with **different** pointing devices (i.e. cirque on left, and trackball on right), you must build two separate firmwares, one for each half. You must specify `VIK_BUILD_LEFT=yes` as a parameter when compiling the left, and `VIK_BUILD_RIGHT=yes` when compiling the right. Then you need to flash each firmware on each respective half.
|
||||
* For split keyboards, the fingerpunch VIK logic will set `VIK_BUILD_LEFT` and `VIK_BUILD_RIGHT` so that you can check what the user configured. This can be checked with `#ifdef VIK_BUILD_LEFT` or `#ifdef VIK_BUILD_RIGHT`
|
||||
* All encoder functions in VIK modules do not support any click function of the encoder.
|
||||
* For all of the items below, please see the [VIK repository certifications](https://github.com/sadekbaroudi/vik?tab=readme-ov-file#known-list-of-vik-certifications) in the modules section for details on the hardware.
|
||||
|
||||
| Rules.mk | Split Use | Description |
|
||||
| --------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `VIK_ENABLE=yes` | Both | Enables the VIK code, this should always be yes if the keyboard has a VIK connector that meets specifications |
|
||||
| `VIK_BUILD_LEFT=yes` | Left | **If and only if** you have different pointing devices on each half, you must specify this when compiling firmware for the left, and then flash that firmware on the left only |
|
||||
| `VIK_BUILD_RIGHT=yes` | Right | **If and only if** you have different pointing devices on each half, you must specify this when compiling firmware for the right, and then flash that firmware on the right only |
|
||||
| `VIK_HAPTIC=yes` | Both | Enables haptic feedback on both sides of the keyboard, requires `#define SPLIT_HAPTIC_ENABLE` |
|
||||
| `VIK_ILI9341=yes` | Left | Enables ILI9341 display, see [qmk quantum painter](https://github.com/qmk/qmk_firmware/blob/master/docs/quantum_painter.md) |
|
||||
| `VIK_PER56_CIRQUE_LEDS=yes` | Left | Enables PER56 encoder and cirque trackpad, note that the keyboard firmware should enable RGB leds since the number of LEDs can vary, use `#ifdef VIK_PER56_CIRQUE_LEDS` to check if this is enabled |
|
||||
| `VIK_PER56_PMW3360_LEDS=yes` | Left | Enables PER56 encoder and pmw3360, note that the keyboard firmware should enable RGB leds since the number of LEDs can vary, use `#ifdef VIK_PER56_PMW3360_LEDS` to check if this is enabled |
|
||||
| `VIK_PMW3360=yes` | Left | Enables pmw3360, note that the keyboard firmware should set orientation, use `#ifdef VIK_PMW3360` to check if this is enabled |
|
||||
| `VIK_WEACT_ST7735=yes` | Left | Enables WeAct ST7735 display, see [qmk quantum painter](https://github.com/qmk/qmk_firmware/blob/master/docs/quantum_painter.md) |
|
||||
| `VIK_GC9A01=yes` | Left | Enables GC9A01 display, see [qmk quantum painter](https://github.com/qmk/qmk_firmware/blob/master/docs/quantum_painter.md) . |
|
||||
| `VIK_WAVESHARE_22224=yes` | Left | Enables Waveshare 22224 display, see [qmk quantum painter](https://github.com/qmk/qmk_firmware/blob/master/docs/quantum_painter.md) |
|
||||
| `VIK_AZOTEQ=yes` | Left | Enables azoteq trackpad, note that the keyboard firmware should set orientation and trackpade size, use `#ifdef VIK_AZOTEQ` to check if this is enabled |
|
||||
| `VIK_EC11_EVQWGD001=yes` | Left | Enables encoders in QMK. Because a keyboard can have existing encoders, the pin configuration must happen at the keyboard. Use `#ifdef VIK_EC11_EVQWGD001` to check if this is enabled. |
|
||||
| `VIK_CIRQUE=yes` | Left | Enables cirque trackpad via SPI, note that the keyboard firmware should set orientation, use `#ifdef VIK_CIRQUE` to check if this is enabled |
|
||||
| `VIK_TRACKPOINT=yes` | Left | Enables PS/2 trackpoint. This does **not** support split pointing, so it must be on the master half |
|
||||
| `VIK_CIRQUE_RIGHT=yes` | Right | Same as above, but equivalent for the right half of a split board. Do not set this if you aren't using a split keyboard. See section header above about determining which device is on which half. |
|
||||
| `VIK_PER56_CIRQUE_LEDS_RIGHT=yes` | Right | Same as above, but equivalent for the right half of a split board. Do not set this if you aren't using a split keyboard. See section header above about determining which device is on which half. |
|
||||
| `VIK_PER56_PMW3360_LEDS_RIGHT=yes` | Right | Same as above, but equivalent for the right half of a split board. Do not set this if you aren't using a split keyboard. See section header above about determining which device is on which half. |
|
||||
| `VIK_PMW3360_RIGHT=yes` | Right | Same as above, but equivalent for the right half of a split board. Do not set this if you aren't using a split keyboard. See section header above about determining which device is on which half. |
|
||||
| `VIK_AZOTEQ_RIGHT=yes` | Right | Same as above, but equivalent for the right half of a split board. Do not set this if you aren't using a split keyboard. See section header above about determining which device is on which half. |
|
||||
| `VIK_EC11_EVQWGD001_RIGHT=yes` | Right | Same as above, but equivalent for the right half of a split board. Do not set this if you aren't using a split keyboard. |
|
||||
|
||||
## Debugging
|
||||
|
||||
|
|
|
|||
|
|
@ -40,3 +40,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -116,3 +116,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -116,3 +116,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -99,3 +99,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
//#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_MACRO
|
||||
//#define NO_ACTION_FUNCTION
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -121,3 +121,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
// If using encoder type 2, uncomment this
|
||||
// #define ENCODERS_B_REVERSE
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -79,3 +79,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -139,3 +139,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
// If using encoder type 2, uncomment this
|
||||
// #define ENCODERS_B_REVERSE
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -63,3 +63,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define I2C1_CLOCK_SPEED 400000
|
||||
#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -96,3 +96,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define FP_HAPTIC_CUT_COPY_PASTE
|
||||
#define FP_HAPTIC_SAVE
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -79,3 +79,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define POINTING_DEVICE_INVERT_Y
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -38,4 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
{ D3, D2, B2, B6 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ B4, E6, D7, C6, D4, B5, F4, F5, F6, F7, B1, B3 }
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -119,3 +119,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define FP_HAPTIC_CUT_COPY_PASTE
|
||||
#define FP_HAPTIC_SAVE
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -85,3 +85,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -200,3 +200,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define POINTING_DEVICE_INVERT_Y
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -141,4 +141,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
// #define POINTING_DEVICE_INVERT_Y
|
||||
// #endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -89,3 +89,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
//#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_MACRO
|
||||
//#define NO_ACTION_FUNCTION
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -31,4 +31,6 @@
|
|||
|
||||
// To dynamically control the backlight with BL_TOGG keycode
|
||||
#define BACKLIGHT_PIN GP24
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -27,3 +27,5 @@
|
|||
#define POINTING_DEVICE_TASK_THROTTLE_MS 5
|
||||
#define CIRQUE_PINNACLE_DIAMETER_MM 35
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -19,4 +19,4 @@
|
|||
#define CIRQUE_PINNACLE_DIAMETER_MM 35
|
||||
#define POINTING_DEVICE_ROTATION_90
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -91,3 +91,5 @@
|
|||
#define RGB_MATRIX_LED_COUNT 63
|
||||
|
||||
#endif // defined(RGB_MATRIX_ENABLE)
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -75,3 +75,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -133,3 +133,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
# define F_LRA 150 // resonance freq
|
||||
# define DRV_GREETING alert_750ms
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -213,3 +213,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
defined(FP_TRACKBALL_RIGHT_ONLY)
|
||||
#define POINTING_DEVICE_INVERT_X_RIGHT
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -168,3 +168,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
#define POINTING_DEVICE_INVERT_Y // This inverts the Y on the left side only
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -166,3 +166,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
// #define SPI_MOSI_PAL_MODE 5 // already defined in chibios
|
||||
// #define SPI_MISO_PAL_MODE 5 // already defined in chibios
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -108,3 +108,5 @@
|
|||
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -97,3 +97,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#ifdef OLED_ENABLE
|
||||
#define OLED_DISPLAY_128X64
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -163,3 +163,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define I2C1_CLOCK_SPEED 400000
|
||||
#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -163,3 +163,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define I2C1_CLOCK_SPEED 400000
|
||||
#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -31,3 +31,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#ifdef OLED_ENABLE
|
||||
#define OLED_DISPLAY_128X64
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -75,3 +75,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#ifdef OLED_ENABLE
|
||||
#define OLED_DISPLAY_128X64
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -132,3 +132,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define POINTING_DEVICE_INVERT_Y
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -155,3 +155,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#ifdef OLED_ENABLE
|
||||
#define OLED_DISPLAY_128X64
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#ifdef VIK_ENABLE
|
||||
#include "keyboards/fingerpunch/src/vik/config.h"
|
||||
#endif
|
||||
#include "keyboards/fingerpunch/src/vik/config.vik.post.h"
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -4,3 +4,7 @@
|
|||
#ifdef POINTING_DEVICE_ENABLE
|
||||
#define PMW33XX_CPI 1000
|
||||
#endif
|
||||
|
||||
#ifdef VIK_ENABLE
|
||||
#include "keyboards/fingerpunch/src/vik/config.vik.pre.h"
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
* VIK_WAVESHARE_22224
|
||||
* VIK_AZOTEQ
|
||||
* VIK_EC11_EVQWGD001
|
||||
* VIK_CIRQUE (really just a raw cirque)
|
||||
* VIK_TRACKPOINT
|
||||
*
|
||||
* Pin config:
|
||||
|
|
@ -96,7 +97,7 @@
|
|||
#define DISPLAY_RST_PIN VIK_DISPLAY_RST_UNUSED_PIN
|
||||
#endif
|
||||
|
||||
#ifdef VIK_PER56_CIRQUE_LEDS
|
||||
#if defined(VIK_PER56_CIRQUE_LEDS) || defined(VIK_PER56_CIRQUE_LEDS_RIGHT)
|
||||
#ifdef RGBLIGHT_LED_COUNT
|
||||
#undef RGBLIGHT_LED_COUNT
|
||||
#endif
|
||||
|
|
@ -109,7 +110,7 @@
|
|||
#define RGBLIGHT_LED_COUNT 4
|
||||
#endif
|
||||
|
||||
#ifdef VIK_PER56_PMW3360_LEDS
|
||||
#if defined(VIK_PER56_PMW3360_LEDS) || defined(VIK_PER56_PMW3360_LEDS_RIGHT)
|
||||
// Trackball config
|
||||
#define PMW33XX_CS_PIN VIK_SPI_CS
|
||||
#define PMW33XX_CPI 1000
|
||||
|
|
@ -127,7 +128,7 @@
|
|||
#define RGBLIGHT_LED_COUNT 4
|
||||
#endif
|
||||
|
||||
#ifdef VIK_PMW3360
|
||||
#if defined(VIK_PMW3360) || defined(VIK_PMW3360_RIGHT)
|
||||
// Trackball config
|
||||
#define PMW33XX_CS_PIN VIK_SPI_CS
|
||||
#define PMW33XX_CPI 1000
|
||||
|
|
@ -167,20 +168,20 @@
|
|||
#define DISPLAY_RST_PIN VIK_DISPLAY_RST_UNUSED_PIN
|
||||
#endif
|
||||
|
||||
#ifdef VIK_AZOTEQ
|
||||
#if defined(VIK_AZOTEQ) || defined(VIK_AZOTEQ_RIGHT)
|
||||
// default to AZOTEQ_IQS5XX_TPS43... shouldn't really do this
|
||||
#if !defined(AZOTEQ_IQS5XX_TPS43) && !defined(AZOTEQ_IQS5XX_TPS65)
|
||||
// #warning "fingerpunch:vik:azoteq: no azoteq profile defined, defaulted to AZOTEQ_IQS5XX_TPS43"
|
||||
#define AZOTEQ_IQS5XX_TPS43
|
||||
#define AZOTEQ_IQS5XX_PRESS_AND_HOLD_ENABLE true
|
||||
#define AZOTEQ_IQS5XX_SWIPE_X_ENABLE true
|
||||
#define AZOTEQ_IQS5XX_SWIPE_Y_ENABLE true
|
||||
#define AZOTEQ_IQS5XX_ZOOM_ENABLE true
|
||||
// Can only use motion pin on unibodies or splits that don't use split pointing
|
||||
// This is currently a QMK constraint
|
||||
#ifndef SPLIT_POINTING
|
||||
#define POINTING_DEVICE_MOTION_PIN VIK_GPIO_2
|
||||
#endif
|
||||
#endif
|
||||
// #define AZOTEQ_IQS5XX_PRESS_AND_HOLD_ENABLE true
|
||||
// #define AZOTEQ_IQS5XX_SWIPE_X_ENABLE true
|
||||
// #define AZOTEQ_IQS5XX_SWIPE_Y_ENABLE true
|
||||
// #define AZOTEQ_IQS5XX_ZOOM_ENABLE true
|
||||
// Can only use motion pin on unibodies or splits that don't use split pointing
|
||||
// This is currently a QMK constraint
|
||||
#ifndef SPLIT_POINTING_ENABLE
|
||||
#define POINTING_DEVICE_MOTION_PIN VIK_GPIO_2
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
@ -206,4 +207,6 @@
|
|||
|
||||
#ifdef CIRQUE_ENABLE
|
||||
#define CIRQUE_PINNACLE_SPI_CS_PIN VIK_SPI_CS
|
||||
#define CIRQUE_PINNACLE_TAP_ENABLE
|
||||
#define POINTING_DEVICE_TASK_THROTTLE_MS 5
|
||||
#endif
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
#ifdef SPLIT_KEYBOARD
|
||||
#ifdef VIK_POINTING_LEFT
|
||||
#ifdef VIK_POINTING_RIGHT
|
||||
#define SPLIT_POINTING_ENABLE
|
||||
#define POINTING_DEVICE_COMBINED
|
||||
#else
|
||||
#define POINTING_DEVICE_LEFT
|
||||
#endif
|
||||
#elif defined(VIK_POINTING_RIGHT)
|
||||
#define POINTING_DEVICE_RIGHT
|
||||
#endif
|
||||
#endif
|
||||
|
|
@ -12,145 +12,31 @@
|
|||
# VIK_WAVESHARE_22224
|
||||
# VIK_AZOTEQ
|
||||
# VIK_EC11_EVQWGD001
|
||||
# VIK_CIRQUE
|
||||
# VIK_TRACKPOINT
|
||||
|
||||
ifeq ($(strip $(VIK_HAPTIC)), yes)
|
||||
HAPTIC_ENABLE = yes
|
||||
HAPTIC_DRIVER = drv2605l
|
||||
OPT_DEFS += -DVIK_HAPTIC
|
||||
# rules.mk options for split right half
|
||||
# VIK_CIRQUE_RIGHT
|
||||
# VIK_PER56_CIRQUE_LEDS_RIGHT
|
||||
# VIK_PER56_PMW3360_LEDS_RIGHT
|
||||
# VIK_PMW3360_RIGHT
|
||||
# VIK_AZOTEQ_RIGHT
|
||||
# VIK_EC11_EVQWGD001_RIGHT
|
||||
|
||||
# Up front rules
|
||||
include keyboards/fingerpunch/src/vik/rules.vik.pre.mk
|
||||
|
||||
# Include the unibody / split left VIK features
|
||||
include keyboards/fingerpunch/src/vik/rules.vik.main.general.mk
|
||||
include keyboards/fingerpunch/src/vik/rules.vik.main.pointing.mk
|
||||
|
||||
### Begin VIK right half support, if there is a VIK module on the right half
|
||||
### IMPORTANT: not all modules can work on the slave half, which is a QMK limitation
|
||||
### only those that work will be handled here
|
||||
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||
include keyboards/fingerpunch/src/vik/rules.vik.right.general.mk
|
||||
include keyboards/fingerpunch/src/vik/rules.vik.right.pointing.mk
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_ILI9341)), yes)
|
||||
# For LCD backlight toggling
|
||||
BACKLIGHT_ENABLE = yes
|
||||
BACKLIGHT_DRIVER = software
|
||||
|
||||
QUANTUM_PAINTER_ENABLE = yes
|
||||
QUANTUM_PAINTER_DRIVERS += ili9341_spi
|
||||
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
|
||||
SRC += keyboards/fingerpunch/src/display/ili9341.c
|
||||
OPT_DEFS += -DVIK_ILI9341
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_PER56_CIRQUE_LEDS)), yes)
|
||||
CIRQUE_ENABLE = yes
|
||||
ENCODER_ENABLE = yes
|
||||
# RGBLIGHT_ENABLE = yes # you need to choose whether or not this is enabled within the keyboard or user rules.mk
|
||||
OPT_DEFS += -DVIK_PER56_CIRQUE_LEDS
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_PER56_PMW3360_LEDS)), yes)
|
||||
PMW3360_ENABLE = yes
|
||||
ENCODER_ENABLE = yes
|
||||
# RGBLIGHT_ENABLE = yes # you need to choose whether or not this is enabled within the keyboard or user rules.mk
|
||||
OPT_DEFS += -DVIK_PER56_PMW3360_LEDS
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_PMW3360)), yes)
|
||||
PMW3360_ENABLE = yes
|
||||
OPT_DEFS += -DVIK_PMW3360
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_WEACT_ST7735)), yes)
|
||||
# For LCD backlight toggling
|
||||
BACKLIGHT_ENABLE = yes
|
||||
BACKLIGHT_DRIVER = software
|
||||
|
||||
QUANTUM_PAINTER_ENABLE = yes
|
||||
QUANTUM_PAINTER_DRIVERS += st7735_spi
|
||||
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
|
||||
SRC += keyboards/fingerpunch/src/display/st7735.c
|
||||
# WPM_ENABLE = yes
|
||||
OPT_DEFS += -DVIK_WEACT_ST7735
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_GC9A01)), yes)
|
||||
QUANTUM_PAINTER_ENABLE = yes
|
||||
QUANTUM_PAINTER_DRIVERS += gc9a01_spi
|
||||
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
|
||||
SRC += keyboards/fingerpunch/src/display/gc9a01.c
|
||||
# WPM_ENABLE = yes
|
||||
OPT_DEFS += -DVIK_GC9A01
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_WAVESHARE_22224)), yes)
|
||||
QUANTUM_PAINTER_ENABLE = yes
|
||||
QUANTUM_PAINTER_DRIVERS += st7789_spi
|
||||
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
|
||||
SRC += keyboards/fingerpunch/src/display/waveshare_22224.c
|
||||
# WPM_ENABLE = yes
|
||||
OPT_DEFS += -DVIK_WAVESHARE_22224
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_AZOTEQ)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
POINTING_DEVICE_DRIVER := azoteq_iqs5xx
|
||||
OPT_DEFS += -DVIK_AZOTEQ
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_EC11_EVQWGD001)), yes)
|
||||
ENCODER_ENABLE := yes
|
||||
OPT_DEFS += -DVIK_EC11_EVQWGD001
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_TRACKPOINT)), yes)
|
||||
|
||||
###### OVERALL FINDINGS SO FAR
|
||||
# AVR interrupt mode doesn't work for RP2040, as it requires PAL_MODE_OUTPUT_OPENDRAIN, which isn't provided for RP2040
|
||||
# https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md#interrupt-version-arm-chibios-idinterrupt-version-chibios
|
||||
# https://github.com/qmk/qmk_firmware/pull/22615#issuecomment-1841537237
|
||||
|
||||
# USART mode won't work, since the pins on the VIK controllers don't use USART for GPIO 1 and GPIO 2
|
||||
# https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md#usart-version-idusart-version
|
||||
|
||||
# The only thing that's left is busywait, which is not recommended by QMK, and also requires PAL_MODE_OUTPUT_OPENDRAIN
|
||||
# https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md#busywait-version-idbusywait-version
|
||||
|
||||
# So, our only option is to use two consecutive pins, which means we can't even use the VIK connector unless GPIO AD1 and AD2
|
||||
# are consecutive, as defined by the RP2040 vendor driver, check QMK docs
|
||||
|
||||
# Options are:
|
||||
# 1) hand wire from VIK module to a PCB with consecutive GPIO available (assuming RP2040), or hand wire to any two GPIO for non-RP2040 controllers. This also requires a bodge for 3.3v (untested) or a logic level conversion between 3.3v and 5v if using a 3.3v controller
|
||||
# 2) figure out an alternative way to get a driver working in QMK with PAL_MODE_OUTPUT_OPENDRAIN on an RP2040 (I don't even know if this is possible)
|
||||
######
|
||||
|
||||
###### Actual VIK logic and options below:
|
||||
# Uncomment these two lines, and one of the modes to test the various options, see:
|
||||
# https://discord.com/channels/939959680611020840/1179500491525328926/1189474876386459678
|
||||
# PS2_MOUSE_ENABLE = yes
|
||||
# PS2_ENABLE = yes
|
||||
|
||||
# Busywait mode: https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md#busywait-version-idbusywait-version
|
||||
# PS2_DRIVER = busywait
|
||||
|
||||
# If using this mode, also see: keyboards/fingerpunch/svlinky/halconf.h
|
||||
# ARM interrupt mode: https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md#interrupt-version-arm-chibios-idinterrupt-version-chibios
|
||||
# PS2_DRIVER = interrupt
|
||||
|
||||
# RP2040 pio / vendor mode: https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md#rp2040-pio-version-idrp2040-pio-version
|
||||
# PS2_DRIVER = vendor
|
||||
|
||||
OPT_DEFS += -DVIK_TRACKPOINT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_RGB_ONLY)), yes)
|
||||
OPT_DEFS += -DVIK_RGB_ONLY
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(PMW3360_ENABLE)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
POINTING_DEVICE_DRIVER := pmw3360
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
OPT_DEFS += -DVIK_TRACKBALL_ENABLE
|
||||
endif
|
||||
|
||||
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
|
||||
|
||||
ifeq ($(strip $(QUANTUM_PAINTER_ENABLE)), yes)
|
||||
SRC += keyboards/fingerpunch/src/display/fp_display.c
|
||||
endif
|
||||
# Include any post processing that's dependent on everything else
|
||||
include keyboards/fingerpunch/src/vik/rules.vik.post.mk
|
||||
|
|
|
|||
|
|
@ -0,0 +1,112 @@
|
|||
# Note that we need to wrap *all* of the actual enabling of drivers to only happen when building
|
||||
# the left side. This is to avoid conflicts with the VIK device on the right half
|
||||
# Notice the blocks below:
|
||||
# ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||
# ifeq ($(strip $(VIK_BUILD_LEFT)), yes)
|
||||
# rules to enable feature
|
||||
# endif
|
||||
# else
|
||||
# rules to enable feature
|
||||
# endif
|
||||
|
||||
ifeq ($(strip $(VIK_HAPTIC)), yes)
|
||||
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||
ifeq ($(strip $(VIK_BUILD_LEFT)), yes)
|
||||
HAPTIC_ENABLE = yes
|
||||
HAPTIC_DRIVER = drv2605l
|
||||
endif
|
||||
else
|
||||
HAPTIC_ENABLE = yes
|
||||
HAPTIC_DRIVER = drv2605l
|
||||
endif
|
||||
OPT_DEFS += -DVIK_HAPTIC
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_ILI9341)), yes)
|
||||
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||
ifeq ($(strip $(VIK_BUILD_LEFT)), yes)
|
||||
BACKLIGHT_ENABLE = yes
|
||||
BACKLIGHT_DRIVER = software
|
||||
|
||||
QUANTUM_PAINTER_ENABLE = yes
|
||||
QUANTUM_PAINTER_DRIVERS += ili9341_spi
|
||||
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
|
||||
SRC += keyboards/fingerpunch/src/display/ili9341.c
|
||||
endif
|
||||
else
|
||||
BACKLIGHT_ENABLE = yes
|
||||
BACKLIGHT_DRIVER = software
|
||||
|
||||
QUANTUM_PAINTER_ENABLE = yes
|
||||
QUANTUM_PAINTER_DRIVERS += ili9341_spi
|
||||
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
|
||||
SRC += keyboards/fingerpunch/src/display/ili9341.c
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DVIK_ILI9341
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_WEACT_ST7735)), yes)
|
||||
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||
ifeq ($(strip $(VIK_BUILD_LEFT)), yes)
|
||||
BACKLIGHT_ENABLE = yes
|
||||
BACKLIGHT_DRIVER = software
|
||||
|
||||
QUANTUM_PAINTER_ENABLE = yes
|
||||
QUANTUM_PAINTER_DRIVERS += st7735_spi
|
||||
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
|
||||
SRC += keyboards/fingerpunch/src/display/st7735.c
|
||||
endif
|
||||
else
|
||||
BACKLIGHT_ENABLE = yes
|
||||
BACKLIGHT_DRIVER = software
|
||||
|
||||
QUANTUM_PAINTER_ENABLE = yes
|
||||
QUANTUM_PAINTER_DRIVERS += st7735_spi
|
||||
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
|
||||
SRC += keyboards/fingerpunch/src/display/st7735.c
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DVIK_WEACT_ST7735
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_GC9A01)), yes)
|
||||
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||
ifeq ($(strip $(VIK_BUILD_LEFT)), yes)
|
||||
QUANTUM_PAINTER_ENABLE = yes
|
||||
QUANTUM_PAINTER_DRIVERS += gc9a01_spi
|
||||
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
|
||||
SRC += keyboards/fingerpunch/src/display/gc9a01.c
|
||||
endif
|
||||
else
|
||||
QUANTUM_PAINTER_ENABLE = yes
|
||||
QUANTUM_PAINTER_DRIVERS += gc9a01_spi
|
||||
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
|
||||
SRC += keyboards/fingerpunch/src/display/gc9a01.c
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DVIK_GC9A01
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_WAVESHARE_22224)), yes)
|
||||
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||
ifeq ($(strip $(VIK_BUILD_LEFT)), yes)
|
||||
QUANTUM_PAINTER_ENABLE = yes
|
||||
QUANTUM_PAINTER_DRIVERS += st7789_spi
|
||||
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
|
||||
SRC += keyboards/fingerpunch/src/display/waveshare_22224.c
|
||||
endif
|
||||
else
|
||||
QUANTUM_PAINTER_ENABLE = yes
|
||||
QUANTUM_PAINTER_DRIVERS += st7789_spi
|
||||
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
|
||||
SRC += keyboards/fingerpunch/src/display/waveshare_22224.c
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DVIK_WAVESHARE_22224
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_EC11_EVQWGD001)), yes)
|
||||
ENCODER_ENABLE := yes
|
||||
OPT_DEFS += -DVIK_EC11_EVQWGD001
|
||||
endif
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||
ifeq ($(strip $(VIK_BUILD_LEFT)), yes)
|
||||
endif
|
||||
else
|
||||
endif
|
||||
|
||||
# Point devices left
|
||||
ifeq ($(strip $(VIK_AZOTEQ)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
POINTING_DEVICE_DRIVER := azoteq_iqs5xx
|
||||
VIK_POINTING_LEFT := yes
|
||||
OPT_DEFS += -DVIK_AZOTEQ
|
||||
OPT_DEFS += -DVIK_POINTING_LEFT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_CIRQUE)), yes)
|
||||
CIRQUE_ENABLE := yes
|
||||
VIK_POINTING_LEFT := yes
|
||||
OPT_DEFS += -DVIK_CIRQUE
|
||||
OPT_DEFS += -DVIK_POINTING_LEFT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_PER56_CIRQUE_LEDS)), yes)
|
||||
CIRQUE_ENABLE = yes
|
||||
VIK_POINTING_LEFT := yes
|
||||
ENCODER_ENABLE = yes
|
||||
OPT_DEFS += -DVIK_PER56_CIRQUE_LEDS
|
||||
OPT_DEFS += -DVIK_POINTING_LEFT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_PER56_PMW3360_LEDS)), yes)
|
||||
PMW3360_ENABLE = yes
|
||||
VIK_POINTING_LEFT := yes
|
||||
ENCODER_ENABLE = yes
|
||||
OPT_DEFS += -DVIK_PER56_PMW3360_LEDS
|
||||
OPT_DEFS += -DVIK_POINTING_LEFT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_PMW3360)), yes)
|
||||
PMW3360_ENABLE = yes
|
||||
VIK_POINTING_LEFT := yes
|
||||
OPT_DEFS += -DVIK_PMW3360
|
||||
OPT_DEFS += -DVIK_POINTING_LEFT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_TRACKPOINT)), yes)
|
||||
###### OVERALL FINDINGS SO FAR
|
||||
# AVR interrupt mode doesn't work for RP2040, as it requires PAL_MODE_OUTPUT_OPENDRAIN, which isn't provided for RP2040
|
||||
# https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md#interrupt-version-arm-chibios-idinterrupt-version-chibios
|
||||
# https://github.com/qmk/qmk_firmware/pull/22615#issuecomment-1841537237
|
||||
|
||||
# USART mode won't work, since the pins on the VIK controllers don't use USART for GPIO 1 and GPIO 2
|
||||
# https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md#usart-version-idusart-version
|
||||
|
||||
# The only thing that's left is busywait, which is not recommended by QMK, and also requires PAL_MODE_OUTPUT_OPENDRAIN
|
||||
# https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md#busywait-version-idbusywait-version
|
||||
|
||||
# So, our only option is to use two consecutive pins, which means we can't even use the VIK connector unless GPIO AD1 and AD2
|
||||
# are consecutive, as defined by the RP2040 vendor driver, check QMK docs
|
||||
|
||||
# Options are:
|
||||
# 1) hand wire from VIK module to a PCB with consecutive GPIO available (assuming RP2040), or hand wire to any two GPIO for non-RP2040 controllers. This also requires a bodge for 3.3v (untested) or a logic level conversion between 3.3v and 5v if using a 3.3v controller
|
||||
# 2) figure out an alternative way to get a driver working in QMK with PAL_MODE_OUTPUT_OPENDRAIN on an RP2040 (I don't even know if this is possible)
|
||||
######
|
||||
|
||||
###### Actual VIK logic and options below:
|
||||
# Uncomment these two lines, and one of the modes to test the various options, see:
|
||||
# https://discord.com/channels/939959680611020840/1179500491525328926/1189474876386459678
|
||||
# PS2_MOUSE_ENABLE = yes
|
||||
# PS2_ENABLE = yes
|
||||
|
||||
# Busywait mode: https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md#busywait-version-idbusywait-version
|
||||
# PS2_DRIVER = busywait
|
||||
|
||||
# If using this mode, also see: keyboards/fingerpunch/svlinky/halconf.h
|
||||
# ARM interrupt mode: https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md#interrupt-version-arm-chibios-idinterrupt-version-chibios
|
||||
# PS2_DRIVER = interrupt
|
||||
|
||||
# RP2040 pio / vendor mode: https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md#rp2040-pio-version-idrp2040-pio-version
|
||||
# PS2_DRIVER = vendor
|
||||
|
||||
OPT_DEFS += -DVIK_TRACKPOINT
|
||||
endif
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
ifeq ($(strip $(PMW3360_ENABLE)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
POINTING_DEVICE_DRIVER := pmw3360
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
OPT_DEFS += -DVIK_TRACKBALL_ENABLE
|
||||
endif
|
||||
|
||||
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
|
||||
|
||||
ifeq ($(strip $(QUANTUM_PAINTER_ENABLE)), yes)
|
||||
SRC += keyboards/fingerpunch/src/display/fp_display.c
|
||||
endif
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
VIK_POINTING_LEFT ?= no
|
||||
VIK_POINTING_RIGHT ?= no
|
||||
|
||||
ifeq ($(strip $(VIK_RGB_ONLY)), yes)
|
||||
OPT_DEFS += -DVIK_RGB_ONLY
|
||||
endif
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
ifeq ($(strip $(VIK_EC11_EVQWGD001_RIGHT)), yes)
|
||||
ENCODER_ENABLE := yes
|
||||
OPT_DEFS += -DVIK_EC11_EVQWGD001_RIGHT
|
||||
endif
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
# Note that we need to wrap *all* of the actual enabling of drivers to only happen when building
|
||||
# the right side, or if the left side has no pointing device
|
||||
# Notice the blocks below:
|
||||
# ifeq ($(strip $(VIK_POINTING_LEFT)), no)
|
||||
# rules to enable pointing
|
||||
# endif
|
||||
# ifeq ($(strip $(VIK_BUILD_RIGHT)), yes)
|
||||
# rules to enable pointing
|
||||
# endif
|
||||
|
||||
ifeq ($(strip $(VIK_AZOTEQ_RIGHT)), yes)
|
||||
ifeq ($(strip $(VIK_POINTING_LEFT)), no)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
POINTING_DEVICE_DRIVER := azoteq_iqs5xx
|
||||
endif
|
||||
ifeq ($(strip $(VIK_BUILD_RIGHT)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
POINTING_DEVICE_DRIVER := azoteq_iqs5xx
|
||||
endif
|
||||
VIK_POINTING_RIGHT := yes
|
||||
OPT_DEFS += -DVIK_AZOTEQ_RIGHT
|
||||
OPT_DEFS += -DVIK_POINTING_RIGHT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_CIRQUE_RIGHT)), yes)
|
||||
ifeq ($(strip $(VIK_POINTING_LEFT)), no)
|
||||
CIRQUE_ENABLE := yes
|
||||
endif
|
||||
ifeq ($(strip $(VIK_BUILD_RIGHT)), yes)
|
||||
CIRQUE_ENABLE := yes
|
||||
endif
|
||||
VIK_POINTING_RIGHT := yes
|
||||
OPT_DEFS += -DVIK_CIRQUE_RIGHT
|
||||
OPT_DEFS += -DVIK_POINTING_RIGHT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_PER56_CIRQUE_LEDS_RIGHT)), yes)
|
||||
ifeq ($(strip $(VIK_POINTING_LEFT)), no)
|
||||
CIRQUE_ENABLE := yes
|
||||
endif
|
||||
ifeq ($(strip $(VIK_BUILD_RIGHT)), yes)
|
||||
CIRQUE_ENABLE := yes
|
||||
endif
|
||||
ENCODER_ENABLE = yes
|
||||
VIK_POINTING_RIGHT := yes
|
||||
OPT_DEFS += -DVIK_PER56_CIRQUE_LEDS_RIGHT
|
||||
OPT_DEFS += -DVIK_POINTING_RIGHT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_PER56_PMW3360_LEDS_RIGHT)), yes)
|
||||
ifeq ($(strip $(VIK_POINTING_LEFT)), no)
|
||||
PMW3360_ENABLE = yes
|
||||
endif
|
||||
ifeq ($(strip $(VIK_BUILD_RIGHT)), yes)
|
||||
PMW3360_ENABLE = yes
|
||||
endif
|
||||
ENCODER_ENABLE = yes
|
||||
VIK_POINTING_RIGHT := yes
|
||||
OPT_DEFS += -DVIK_PER56_PMW3360_LEDS_RIGHT
|
||||
OPT_DEFS += -DVIK_POINTING_RIGHT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIK_PMW3360_RIGHT)), yes)
|
||||
ifeq ($(strip $(VIK_POINTING_LEFT)), no)
|
||||
PMW3360_ENABLE = yes
|
||||
endif
|
||||
ifeq ($(strip $(VIK_BUILD_RIGHT)), yes)
|
||||
PMW3360_ENABLE = yes
|
||||
endif
|
||||
VIK_POINTING_RIGHT := yes
|
||||
OPT_DEFS += -DVIK_PMW3360_RIGHT
|
||||
OPT_DEFS += -DVIK_POINTING_RIGHT
|
||||
endif
|
||||
|
|
@ -40,3 +40,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -16,7 +16,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/
|
||||
|
||||
// NOTE: All logic for the modules can be found in:
|
||||
// keyboards/fingerpunch/src/vik/config.h
|
||||
// keyboards/fingerpunch/src/vik/config.vik.pre.h
|
||||
// keyboards/fingerpunch/src/vik/config.vik.post.h
|
||||
// keyboards/fingerpunch/src/vik/rules.mk
|
||||
|
||||
#pragma once
|
||||
|
|
|
|||
|
|
@ -93,3 +93,5 @@
|
|||
|
||||
/* Backwards compatibility with existing out-of-tree keymaps */
|
||||
#define LAYOUT_sweeeeep LAYOUT_split_3x5_3
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -101,3 +101,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define SPI_MOSI_PIN GP23
|
||||
#define SPI_MISO_PIN GP20
|
||||
|
||||
// Got help from https://www.eisbahn.jp/yoichiro/2022/08/luankey_pico_qmk_firmware.html
|
||||
#define MASTER_LEFT
|
||||
#define SPLIT_TRANSPORT_MIRROR
|
||||
#define SPLIT_POINTING_ENABLE
|
||||
|
|
@ -143,64 +142,48 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#ifdef CIRQUE_ENABLE
|
||||
// cirque trackpad config
|
||||
// This is for I2C only, which is not the default. Ximega doesn't have pull up resistors
|
||||
// So you can't use it anyway
|
||||
#define CIRQUE_PINNACLE_ADDR 0x2A
|
||||
// This is for SPI only, which is the default
|
||||
#define CIRQUE_PINNACLE_SPI_CS_PIN GP9
|
||||
|
||||
// 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
|
||||
#endif
|
||||
|
||||
#ifdef FP_TRACKBALL_ENABLE
|
||||
// Trackball config
|
||||
#define PMW33XX_CS_PIN GP9
|
||||
#define PMW33XX_CPI 1000
|
||||
#define PMW33XX_CS_DIVISOR 8
|
||||
#endif
|
||||
|
||||
// All the possible configurations of pointing devices
|
||||
#if defined(FP_TRACKBALL_BOTH)
|
||||
#define POINTING_DEVICE_COMBINED // two pointing devices
|
||||
#define POINTING_DEVICE_INVERT_Y // for trackball on the left
|
||||
#define POINTING_DEVICE_INVERT_X_RIGHT // for trackball on the right
|
||||
#if defined(VIK_CIRQUE) || defined(VIK_PER56_CIRQUE_LEDS)
|
||||
#define POINTING_DEVICE_ROTATION_90
|
||||
#endif
|
||||
#if defined(FP_CIRQUE_BOTH)
|
||||
#define POINTING_DEVICE_COMBINED // two pointing devices
|
||||
#define POINTING_DEVICE_ROTATION_90 // for cirque on the left
|
||||
#define POINTING_DEVICE_ROTATION_90_RIGHT // for cirque on the right
|
||||
#endif
|
||||
#if defined(FP_TRACKBALL_LEFT_ONLY)
|
||||
#define POINTING_DEVICE_LEFT // one pointing device, on the left
|
||||
#define POINTING_DEVICE_INVERT_Y // for trackball on the left
|
||||
#endif
|
||||
#if defined(FP_TRACKBALL_RIGHT_ONLY)
|
||||
#define POINTING_DEVICE_RIGHT // one pointing device, on the right
|
||||
#define POINTING_DEVICE_INVERT_X_RIGHT // for trackball on the right
|
||||
#endif
|
||||
#if defined(FP_CIRQUE_LEFT_ONLY)
|
||||
#define POINTING_DEVICE_LEFT // one pointing device, on the left
|
||||
#define POINTING_DEVICE_ROTATION_90 // for cirque on the left
|
||||
#endif
|
||||
#if defined(FP_CIRQUE_RIGHT_ONLY)
|
||||
#define POINTING_DEVICE_RIGHT // one pointing device, on the right
|
||||
#define POINTING_DEVICE_ROTATION_90_RIGHT // for cirque on the right
|
||||
#endif
|
||||
#if defined(FP_TRACKBALL_LEFT_CIRQUE_RIGHT)
|
||||
#define POINTING_DEVICE_COMBINED // two pointing devices
|
||||
#define POINTING_DEVICE_INVERT_Y // for trackball on the left
|
||||
#define POINTING_DEVICE_ROTATION_90_RIGHT // for cirque on the right
|
||||
|
||||
#if defined(VIK_CIRQUE_RIGHT) || defined(VIK_PER56_CIRQUE_LEDS_RIGHT)
|
||||
#ifdef POINTING_DEVICE_COMBINED
|
||||
#define POINTING_DEVICE_ROTATION_90_RIGHT
|
||||
#else
|
||||
#define POINTING_DEVICE_ROTATION_90
|
||||
#endif
|
||||
#endif
|
||||
#if defined(FP_CIRQUE_LEFT_TRACKBALL_RIGHT)
|
||||
#define POINTING_DEVICE_COMBINED // two pointing devices
|
||||
#define POINTING_DEVICE_ROTATION_90 // for cirque on the left
|
||||
#define POINTING_DEVICE_INVERT_X_RIGHT // for trackball on the right
|
||||
|
||||
#if defined(VIK_PMW3360) || defined(VIK_PER56_PMW3360_LEDS)
|
||||
#define POINTING_DEVICE_INVERT_X
|
||||
#endif
|
||||
|
||||
#if defined(VIK_PMW3360_RIGHT) || defined(VIK_PER56_PMW3360_LEDS_RIGHT)
|
||||
#ifdef POINTING_DEVICE_COMBINED
|
||||
#define POINTING_DEVICE_INVERT_Y_RIGHT
|
||||
#else
|
||||
#define POINTING_DEVICE_INVERT_Y
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(VIK_AZOTEQ)
|
||||
#define AZOTEQ_IQS5XX_TPS65
|
||||
#define POINTING_DEVICE_ROTATION_270
|
||||
#endif
|
||||
|
||||
#if defined(VIK_AZOTEQ_RIGHT)
|
||||
#define AZOTEQ_IQS5XX_TPS65
|
||||
#ifdef POINTING_DEVICE_COMBINED
|
||||
#define POINTING_DEVICE_ROTATION_270_RIGHT
|
||||
#else
|
||||
#define POINTING_DEVICE_ROTATION_270
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Display rotations
|
||||
#if defined(VIK_WEACT_ST7735)
|
||||
#define FP_QP_ROTATION QP_ROTATION_180
|
||||
#endif
|
||||
|
||||
// Encoder configuration from VIK is in version specific config, e.g. ximega/v1/config.h
|
||||
|
|
|
|||
|
|
@ -46,103 +46,12 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
|
|||
OPT_DEFS += -DRGB_MATRIX_CUSTOM_KB
|
||||
endif
|
||||
|
||||
# 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
|
||||
# When qmk supports multiple types of pointing devices, can remove this line below
|
||||
# Also, can remove the question from fp_build.json
|
||||
FP_SPLIT_LEFT ?= no
|
||||
FP_SPLIT_RIGHT ?= no
|
||||
# If you want to use VIK2 port's RGB instead of per key rgb and VIK1, enable this
|
||||
FP_VIK2_RGB ?= 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)
|
||||
# When qmk supports multiple types of pointing devices, change to something like the commented code below
|
||||
# PMW3360_ENABLE = yes
|
||||
# CIRQUE_ENABLE = yes
|
||||
ifeq ($(strip $(FP_SPLIT_LEFT)), yes)
|
||||
PMW3360_ENABLE = yes
|
||||
endif
|
||||
ifeq ($(strip $(FP_SPLIT_RIGHT)), yes)
|
||||
CIRQUE_ENABLE = yes
|
||||
endif
|
||||
OPT_DEFS += -DFP_TRACKBALL_LEFT_CIRQUE_RIGHT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(FP_CIRQUE_LEFT_TRACKBALL_RIGHT)), yes)
|
||||
# When qmk supports multiple types of pointing devices, change to something like the commented code below
|
||||
# PMW3360_ENABLE = yes
|
||||
# CIRQUE_ENABLE = yes
|
||||
ifeq ($(strip $(FP_SPLIT_LEFT)), yes)
|
||||
CIRQUE_ENABLE = yes
|
||||
endif
|
||||
ifeq ($(strip $(FP_SPLIT_RIGHT)), yes)
|
||||
PMW3360_ENABLE = yes
|
||||
endif
|
||||
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
|
||||
|
||||
# When qmk supports multiple types of pointing devices, can remove the FP_SPLIT_* blocks below
|
||||
ifeq ($(strip $(FP_SPLIT_LEFT)), yes)
|
||||
OPT_DEFS += -DFP_SPLIT_LEFT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(FP_SPLIT_RIGHT)), yes)
|
||||
OPT_DEFS += -DFP_SPLIT_RIGHT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(FP_VIK2_RGB)), yes)
|
||||
OPT_DEFS += -DFP_VIK2_RGB
|
||||
endif
|
||||
|
||||
# include here so that if VIK enables the PMW3360, the OPT_DEFS get set appropriately for ximega
|
||||
include keyboards/fingerpunch/src/rules.mk
|
||||
|
||||
ifeq ($(strip $(CIRQUE_ENABLE)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
POINTING_DEVICE_DRIVER := cirque_pinnacle_spi
|
||||
OPT_DEFS += -DCIRQUE_ENABLE
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(PMW3360_ENABLE)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
POINTING_DEVICE_DRIVER := pmw3360
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
OPT_DEFS += -DFP_TRACKBALL_ENABLE
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -49,4 +49,34 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
// Used only if you have a display with RESET unconnected, set to unused pin
|
||||
#define VIK_DISPLAY_RST_UNUSED_PIN GP17
|
||||
#define FP_QP_ROTATION QP_ROTATION_270
|
||||
|
||||
// Encoder configuration from VIK
|
||||
#ifdef VIK_EC11_EVQWGD001
|
||||
#define ENCODERS_PAD_A { GP26 }
|
||||
#define ENCODERS_PAD_B { GP27 }
|
||||
#define ENCODER_RESOLUTIONS { 2 }
|
||||
#elif defined(VIK_PER56_CIRQUE_LEDS) || defined(VIK_PER56_PMW3360_LEDS)
|
||||
#define ENCODERS_PAD_A { GP26 }
|
||||
#define ENCODERS_PAD_B { GP27 }
|
||||
#define ENCODER_RESOLUTIONS { 1 }
|
||||
#else
|
||||
#define ENCODERS_PAD_A { }
|
||||
#define ENCODERS_PAD_B { }
|
||||
#define ENCODER_RESOLUTIONS { }
|
||||
#endif
|
||||
|
||||
#ifdef VIK_EC11_EVQWGD001_RIGHT
|
||||
#define ENCODERS_PAD_A_RIGHT { GP26 }
|
||||
#define ENCODERS_PAD_B_RIGHT { GP27 }
|
||||
#define ENCODER_RESOLUTIONS_RIGHT { 2 }
|
||||
#elif defined(VIK_PER56_CIRQUE_LEDS_RIGHT) || defined(VIK_PER56_PMW3360_LEDS_RIGHT)
|
||||
#define ENCODERS_PAD_A_RIGHT { GP26 }
|
||||
#define ENCODERS_PAD_B_RIGHT { GP27 }
|
||||
#define ENCODER_RESOLUTIONS_RIGHT { 1 }
|
||||
#else
|
||||
#define ENCODERS_PAD_A_RIGHT { }
|
||||
#define ENCODERS_PAD_B_RIGHT { }
|
||||
#define ENCODER_RESOLUTIONS_RIGHT { }
|
||||
#endif
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -2,24 +2,39 @@
|
|||
{
|
||||
"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"
|
||||
"VIK_BUILD_LEFT",
|
||||
"VIK_BUILD_RIGHT"
|
||||
],
|
||||
"user_input": "What config would you like to use? (NONE, 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": "This is only applicable if you have two *different* VIK devices, one on each half. 0 if not applicable, 1 to build left firmware, 2 to build right firmware:"
|
||||
},
|
||||
{
|
||||
"type" : "one-of",
|
||||
"names" : [
|
||||
"FP_SPLIT_LEFT",
|
||||
"FP_SPLIT_RIGHT"
|
||||
"VIK_AZOTEQ",
|
||||
"VIK_CIRQUE",
|
||||
"VIK_EC11_EVQWGD001",
|
||||
"VIK_GC9A01",
|
||||
"VIK_HAPTIC",
|
||||
"VIK_ILI9341",
|
||||
"VIK_PER56_CIRQUE_LEDS",
|
||||
"VIK_PER56_PMW3360_LEDS",
|
||||
"VIK_PMW3360",
|
||||
"VIK_WAVESHARE_22224",
|
||||
"VIK_WEACT_ST7735"
|
||||
],
|
||||
"user_input": "This is only applicable if you are doing mixed pointing devices. 0 if not applicable, 1 to build left firmware, 2 to build right firmware:"
|
||||
"user_input": "What VIK config would you like to use for the left half? (0) NONE, (1) VIK_AZOTEQ, (2) VIK_CIRQUE, (3) VIK_EC11_EVQWGD001, (4) VIK_GC9A01, (5) VIK_HAPTIC, (6) VIK_ILI9341, (7) VIK_PER56_CIRQUE_LEDS, (8) VIK_PER56_PMW3360_LEDS, (9) VIK_PMW3360, (10) VIK_WAVESHARE_22224, (11) VIK_WEACT_ST7735:"
|
||||
},
|
||||
{
|
||||
"type" : "one-of",
|
||||
"names" : [
|
||||
"VIK_AZOTEQ_RIGHT",
|
||||
"VIK_CIRQUE_RIGHT",
|
||||
"VIK_EC11_EVQWGD001_RIGHT",
|
||||
"VIK_PER56_CIRQUE_LEDS_RIGHT",
|
||||
"VIK_PER56_PMW3360_LEDS_RIGHT",
|
||||
"VIK_PMW3360_RIGHT"
|
||||
],
|
||||
"user_input": "What VIK config would you like to use for the right half? (0) NONE, (1) VIK_AZOTEQ, (2) VIK_CIRQUE, (3) VIK_EC11_EVQWGD001, (4) VIK_PER56_CIRQUE_LEDS, (5) VIK_PER56_PMW3360_LEDS, (6) VIK_PMW3360:"
|
||||
},
|
||||
{
|
||||
"type" : "one-of",
|
||||
|
|
@ -28,10 +43,5 @@
|
|||
"RGB_MATRIX_ENABLE"
|
||||
],
|
||||
"user_input": "No RGB, RGB light, RGB matrix?"
|
||||
},
|
||||
{
|
||||
"type" : "single",
|
||||
"name" : "FP_VIK2_RGB",
|
||||
"user_input": "Do you want to use the RGB on VIK2? This disables per key rgb and VIK1 RGB."
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -21,3 +21,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define MATRIX_ROW_PINS { GP29, GP28, GP27, GP24 }
|
||||
#define MATRIX_COL_PINS { GP10, GP11, GP26, GP12, GP13, GP14, GP15, GP16 }
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -37,3 +37,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
// Used only if you have a display with RESET unconnected, set to unused pin
|
||||
#define VIK_DISPLAY_RST_UNUSED_PIN GP15
|
||||
#define FP_QP_ROTATION QP_ROTATION_270
|
||||
|
||||
#include "keyboards/fingerpunch/src/config_post.h"
|
||||
|
|
|
|||
|
|
@ -16,7 +16,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/
|
||||
|
||||
// NOTE: All logic for the modules can be found in:
|
||||
// keyboards/fingerpunch/src/vik/config.h
|
||||
// keyboards/fingerpunch/src/vik/config.vik.pre.h
|
||||
// keyboards/fingerpunch/src/vik/config.vik.post.h
|
||||
// keyboards/fingerpunch/src/vik/rules.mk
|
||||
|
||||
#pragma once
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
|| defined(KEYBOARD_fingerpunch_sweeeeep) \
|
||||
|| defined(KEYBOARD_fingerpunch_vulpes_minora) \
|
||||
|| defined(KEYBOARD_fingerpunch_vulpes_majora_v1) \
|
||||
|| defined(KEYBOARD_fingerpunch_ximega) \
|
||||
|| defined(KEYBOARD_fingerpunch_ximi) \
|
||||
|| defined(KEYBOARD_fingerpunch_personal_badwings) \
|
||||
|| defined(KEYBOARD_fingerpunch_personal_badwings_v2) \
|
||||
|
|
|
|||
Loading…
Reference in New Issue