Questions tagged [qmk-firmware]

Questions related to use of the QMK keyboard software stack, including writing configurations using the QMK system.

QMK stands for Quantum Mechanical Keyboard, and its firmware has become the predominant open source keyboard software stack. It is used in many commercial and homebrew keyboards, and features a powerful keyboard configuration system.

https://docs.qmk.fm

16 questions
3
votes
3 answers

Make a layer respond to two modifier keys being pressed in QMK

In a QMK firmware configuration, I can map a single modifier key to a new keymap layer using MO(x). How can I do this such that two modifier keys must be pressed simultaneously? Example: I would like to map Fn + Ctrl + D to generate a Unicode…
Mark Harrison
  • 297,451
  • 125
  • 333
  • 465
2
votes
1 answer

How can I cause a synthetic autoshift keypress in QMK (for the Moonlander)?

I written some code to indicate that the numlock is active by changing its LED colour, like so: bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case TOG_NUMS: if (record->event.pressed) { …
ajrskelton
  • 340
  • 3
  • 10
1
vote
0 answers

QMK issue with RGB layers

I'm facing a strange behavior on my Sofle keyboard. I have enabled RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF, so RGB turns ON for layers when the RGB is OFF. This is my config.h regarding RGBLIGHT: #ifdef RGBLIGHT_ENABLE #define RGBLIGHT_SLEEP /* If…
Paulo
  • 11
  • 1
1
vote
0 answers

QMK Toolbox: No HID console devices connected when trying to upload firmware to keyboard

The image would normally show "list all devices", so I’m assuming it says, "No HID console devices connected" because for some reason it is not recognizing my ATmega32U4 chip. I have tried: Using three wires. I have already confirmed two of the…
Meylita
  • 11
  • 2
1
vote
1 answer

How can I unpack an array as separate macro arguments?

I am using the QMK library, which has a LAYOUT macro that takes many parameters. It is used like so (with KC_xxx etc constants): const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [baselayer] = LAYOUT( /* Dvorak without modifiers. Never…
ElRudi
  • 2,122
  • 2
  • 18
  • 33
1
vote
1 answer

error: 'return' with no value, in function returning non-void [-Werror] Corne keyboard Compile problem

I have a Corne keyboard and I'm trying to create the .hex file. The problem is when I try to compile (-km gotham), it throws this: 'return' with no value, in function returning non-void [-Werror] and this note: declared here bool…
1
vote
0 answers

Compiling my custom keymap using QMK MSYS returns a multiple target patterns error

I am following the steps outlined here to customize my Planck OLKB rev6 keyboard. I'm using QMK MSYS to perform all the command line level stuff. I followed all the steps and everything works fine up until I need to compile the keyboard and a custom…
TheNomad
  • 293
  • 1
  • 3
  • 10
1
vote
4 answers

Struggling with QMK modifier keys

I'm getting this error when I try to use modifier keys on my rotary encoder like so: bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(QK_LCTL |…
Dawz
  • 19
  • 2
1
vote
1 answer

Flashing QMK firmware for the 'SiCK-68' keyboard, but I am getting an error from undeclared MCU pins

I’m trying to flash firmware for a SiCK-68 keyboard on a Teensy LC. I already hand-wired up everything and am trying to flash on the Teensy LC. I'm getting an error saying that I am trying to use undeclared pins B16, B17, A1, A2, and E30. Here is…
gtullio12
  • 13
  • 3
1
vote
3 answers

How do you install QMK with the new Mac M1 (ARM) chip?

I keep getting compiling errors whenever I follow the Homebrew install guide for QMK. ==> Installing qmk from qmk/qmk avr-gcc@8: The x86_64 architecture is required for this software. Error: An unsatisfied requirement failed this build. How can I…
Ryan Macdonald
  • 116
  • 3
  • 6
0
votes
0 answers

Lily58 OLED getting borked

I'm working on a keymap for the Lily58 that has a built in Pomodoro timer (repository here). I'm running into issues showing images on the OLED. I have three bitmaps that represent the different "screens" I want to show. I memcpy the first one into…
CaseyB
  • 24,780
  • 14
  • 77
  • 112
0
votes
1 answer

Using QMK, how can I change octaves or transpositions with a knob on my keyboard?

I want to change octaves or transpositions when turning the knob on my keyboard. What could I do to get the following code to work? typedef enum { ENCODER_MODE_OCTAVE, ENCODER_MODE_TRANSPOSE, } encoder_mode_t; encoder_mode_t encoder_mode =…
Max May
  • 13
  • 4
0
votes
0 answers

Write to left and right display

I have a Lily58 Pro, this is a split keyboard with two displays. I am looking for a way to display text and images on both displays. To create my custom firmware I have done the following: Copy default Lily58 firmware Alter the layers in keymap.c…
CyberFly
  • 757
  • 1
  • 10
  • 15
0
votes
1 answer

Assignment to 'char' from 'const char *' makes integer from pointer without a cast

I am very new to C and am encountering an issue while trying to store my next_frame in a variable. If I just change the following it works fine. Only when I try to store the next_frame in a variable does it not compile. How can I fix it? // Doesn't…
Joe Scotto
  • 10,936
  • 14
  • 66
  • 136
0
votes
0 answers

Turning an asynchronous function from a package to sync

This function goes through all the matrices of a keyboard, asks the keyboard for the keycode in each place and pushes it to the layerKeycodes array. The problem is that device.read() is asynchronous and I couldn't find a way to make it synchronous…
1
2