1
0
Fork 0
forked from forks/qmk_firmware
qmk_firmware/keyboards/keychron/q11
Sergey Vlasov d16d87c2f3
Keychron Q11 ISO: Fix left Shift breakage due to a wrong matrix mask (#21655)
Keychron Q11 uses `matrix_mask` to mask away the matrix location used
for `SPLIT_HAND_MATRIX_GRID` (otherwise the keyboard will constantly
generate a wakeup request whenever the host enters suspend).  However,
the value of `matrix_mask` is actually chosen to mask away all unused
locations, but it was apparently generated for the ANSI board and
therefore masks away the left Shift key on the ISO board, breaking the
functionality of that key.

Fix `matrix_mask` to make the masking work as intended:

- Set the `[4, 1]` bit to 1; this is the matrix location for the ISO
  left Shift.

- Set the `[2, 5]` bit to 0; this is actually the matrix location which
  corresponds to `#define SPLIT_HAND_MATRIX_GRID A2, A15` on the left
  side, which was intended to be masked; apparently the wakeup problem
  does not happen due to `SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT`, so the
  left half actually has that matrix location open.  On the right side
  `A2, A15` is `[9, 6]`, which was masked off correctly.
2023-08-01 04:14:20 +01:00
..
ansi_encoder [Keyboard] Keychron Q11 ISO Version (#21438) 2023-07-06 00:50:43 -06:00
iso_encoder [Keyboard] Keychron Q11 ISO Version (#21438) 2023-07-06 00:50:43 -06:00
config.h [Keyboard] Keychron Q11 ISO Version (#21438) 2023-07-06 00:50:43 -06:00
halconf.h [Keyboard] Add Keychron Q11 (#20125) 2023-04-06 11:02:24 -07:00
info.json [Keyboard] Keychron Q11 ISO Version (#21438) 2023-07-06 00:50:43 -06:00
mcuconf.h [Keyboard] Add Keychron Q11 (#20125) 2023-04-06 11:02:24 -07:00
q11.c Keychron Q11 ISO: Fix left Shift breakage due to a wrong matrix mask (#21655) 2023-08-01 04:14:20 +01:00
readme.md [Keyboard] Keychron Q11 ISO Version (#21438) 2023-07-06 00:50:43 -06:00

Keychron Q11

Keychron Q11

A customizable 75% split keyboard.

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

make keychron/q11/ansi_encoder:default
make keychron/q11/iso_encoder:default

Flashing example for this keyboard:

make keychron/q11/ansi_encoder:default:flash
make keychron/q11/iso_encoder:default:flash

Reset Key: The master and slave side should be flashed individually, to enter flashing mode, hold down the key located at K01, which programmed as Esc while plugging in the keyboard for the master side and hold down the key located at K67, which programmed as Del while plugging in the keyboard for the slave side.

See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.