Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added hackpads/tiefighter/CAD/full_tiefighter.stl
Binary file not shown.
11 changes: 11 additions & 0 deletions hackpads/tiefighter/Firmware/tiefighter/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#pragma once

// For RP2040, we don't include config_common.h
#define MATRIX_ROWS 2
#define MATRIX_COLS 3

// Encoder resolution
#define ENCODER_RESOLUTION 4

// Define debounce time for stable key presses
#define DEBOUNCE 5
35 changes: 35 additions & 0 deletions hackpads/tiefighter/Firmware/tiefighter/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"keyboard_name": "TIEFIGHTER",
"manufacturer": "Custom",
"url": "",
"maintainer": "awesomebrownies",
"processor": "RP2040",
"bootloader": "rp2040",
"usb": {
"vid": "0xFEED",
"pid": "0x6060",
"device_version": "0.0.1"
},
"matrix_pins": {
"rows": ["GP6", "GP7"],
"cols": ["GP26", "GP27", "GP28"]
},
"diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "GP4", "pin_b": "GP5"}
]
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1}
]
}
}
}
25 changes: 25 additions & 0 deletions hackpads/tiefighter/Firmware/tiefighter/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_MPLY, KC_MPRV, KC_MNXT, // Top Row: Play/Pause, Previous Track, Next Track
KC_MUTE, KC_VOLD, KC_VOLU // Bottom Row: Mute, Volume Down, Volume Up
)
};

// Rotary encoder functionality
bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
tap_code(KC_VOLU); // Increase Volume
} else {
tap_code(KC_VOLD); // Decrease Volume
}
return true; // Changed from false to true to allow other encoder processing
}

// Encoder switch functionality (Mute/Unmute on GP3)
void matrix_scan_user(void) {
if (!gpio_read_pin(GP3)) { // Fixed GPIO handling for RP2040
tap_code(KC_MUTE); // Toggle mute
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Default Keymap for TIEFIGHTER Macropad
- **Top Row**: Play/Pause, Previous Track, Next Track
- **Bottom Row**: Mute, Volume Down, Volume Up
- **Rotary Encoder**: Adjust Volume
- **Encoder Switch**: Mute/Unmute (GPIO3)

13 changes: 13 additions & 0 deletions hackpads/tiefighter/Firmware/tiefighter/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Tiefighter

An audio controller macropad shaped like a tie fighter. Featuring three toggle switches for audio assignment and a rotary encoder for changing volume. The wings can be used for any assortment of media keys.

Keyboard Maintainer: [awesomebrownies](https://github.com/awesomebrownies)

Make example for this keyboard (after setting up your build environment):

make tiefighter:default

Enter the bootloader 2 ways:
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead, typically RST and GND connected with tweezers.
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
7 changes: 7 additions & 0 deletions hackpads/tiefighter/Firmware/tiefighter/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
MCU = RP2040
BOOTLOADER = rp2040
LTO_ENABLE = yes
ENCODER_ENABLE = yes



10 changes: 10 additions & 0 deletions hackpads/tiefighter/Firmware/tiefighter/tiefighter.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#include "tiefighter.h"

void matrix_init_kb(void) {
matrix_init_user();
}

void matrix_scan_kb(void) {
matrix_scan_user();
}

2 changes: 2 additions & 0 deletions hackpads/tiefighter/Firmware/tiefighter/tiefighter.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#pragma once
#include "quantum.h"
Loading