Commit Graph

95 Commits

Author SHA1 Message Date
Jeff Epler
9632360caa
Use a macro to compute the size of arrays at compile time (#18044)
* Add ARRAY_SIZE and CEILING utility macros

* Apply a coccinelle patch to use ARRAY_SIZE

* fix up some straggling items

* Fix 'make test:secure'

* Enhance ARRAY_SIZE macro to reject acting on pointers

The previous definition would not produce a diagnostic for
```
int *p;
size_t num_elem = ARRAY_SIZE(p)
```
but the new one will.

* explicitly get definition of ARRAY_SIZE

* Convert to ARRAY_SIZE when const is involved

The following spatch finds additional instances where the array is
const and the division is by the size of the type, not the size of
the first element:
```
@ rule5a using "empty.iso" @
type T;
const T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)

@ rule6a using "empty.iso" @
type T;
const T[] E;
@@

- sizeof(E)/sizeof(T)
+ ARRAY_SIZE(E)
```

* New instances of ARRAY_SIZE added since initial spatch run

* Use `ARRAY_SIZE` in docs (found by grep)

* Manually use ARRAY_SIZE

hs_set is expected to be the same size as uint16_t, though it's made
of two 8-bit integers

* Just like char, sizeof(uint8_t) is guaranteed to be 1

This is at least true on any plausible system where qmk is actually used.

Per my understanding it's universally true, assuming that uint8_t exists:
https://stackoverflow.com/questions/48655310/can-i-assume-that-sizeofuint8-t-1

* Run qmk-format on core C files touched in this branch

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-08-30 10:20:04 +02:00
Joel Challis
bbc3bc55f2
RESET -> QK_BOOT user keymaps (#17940) 2022-08-21 23:55:30 +01:00
Joel Challis
c3f1ba7dd1
Remove full bootmagic config (#17702) 2022-07-19 02:28:23 +01:00
QMK Bot
a1fb1405e4 Merge remote-tracking branch 'origin/master' into develop 2022-07-17 12:03:31 +00:00
Joel Challis
37cd5ad810
Remove full bootmagic config (#17701) 2022-07-17 13:02:56 +01:00
Drashna Jaelre
0da6562c4d
Make default layer size 16-bit (#15286)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2022-06-19 07:37:51 +10:00
Joel Challis
b7771ec25b
RESET -> QK_BOOT default keymaps (#17037) 2022-05-15 20:26:27 +01:00
Ryan
7d685956cc
Rename AdafruitBLE to BluefruitLE (#16127) 2022-01-30 17:29:42 +00:00
Ryan
a8d440e4e0
Tidy up NKRO_ENABLE rules (#15382) 2021-12-09 16:05:44 +11:00
Ryan
7f90cb1781
Remove references to Makefile in keyboard-level rules.mk (#15427) 2021-12-07 23:40:26 +00:00
Ryan
c12b997679
Tidy up SLEEP_LED_ENABLE rules (#15362) 2021-12-01 21:13:00 +11:00
QMK Bot
e5d48f6d16 Merge remote-tracking branch 'origin/master' into develop 2021-09-30 09:17:50 +00:00
Ryan
0b37e07f90
Remove redundant MIDI_ENABLE = no in keyboard-level rules.mk (#14649) 2021-09-30 19:17:20 +10:00
James Young
922c8071e4
Merge remote-tracking branch 'upstream/master' into develop 2021-09-29 23:23:10 -07:00
Ryan
36bc3c867e
Remove redundant UNICODE_ENABLE = no in keyboard-level rules.mk (#14633) 2021-09-30 08:14:21 +10:00
fauxpark
94572d74b5 Merge remote-tracking branch 'upstream/master' into develop 2021-09-21 20:19:07 +10:00
Ryan
6b74e48f81
Remove audio pin references in rules.mk (#14532) 2021-09-21 20:04:03 +10:00
Ryan
bcf4551f74
Move Bluetooth config to common_features.mk (#14404)
* Move Bluetooth config to common_features.mk

* Update common_features.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-09-12 08:22:03 -07:00
James Young
a03aa301de
Remove Full Bootmagic (#13846)
* disambiguate Bootmagic rules in keymaps

The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic.

This commit edits the files to specify that full Bootmagic is intended.

* remove BOOTMAGIC_ENABLE=full setting

* unify commented BOOTMAGIC_ENABLE rules in keyboards

Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no       # Virtual DIP switch configuration;g' {} +
```

* remove commented Bootmagic rules from keymap/user level

Command:

```
find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} +
```

* update keyboard BOOTMAGIC_ENABLE rule formatting

Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later).

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
```

* update keyboards' BOOTMAGIC_ENABLE settings

Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' +
```

* update keymap/user BOOTMAGIC_ENABLE settings

Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
```

* remove and replace inline comments in keyboards and keymap/user files

Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1     # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1      # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1       # Enable Bootmagic Lite;g' '{}' +
```

* rename improperly named makefiles

Some files intended to be used as makefiles had improper names causing them to not be used as intended when building.

This commit corrects the filenames of the affected files.

* update renamed file with new rule formatting

* update QMK's template files

Updates QMK's `rules.mk` templates to use the new inline comment.

* update QMK Docs

- remove documentation of full Bootmagic
- update links to Bootmagic Lite doc
- add doc for Magic Keycodes

* rules.mk patch for coarse/ixora and coarse/vinta
2021-08-06 23:59:56 -07:00
Drashna Jaelre
7161d65070
Remove FAUXCLICKY feature (deprecated) (#11829) 2021-02-09 09:49:05 -08:00
Drashna Jaelre
6cf574396a [Keyboard] Update default keymaps to use layer_state_t (#7444)
* Update default keymaps to use `layer_state_t`

* Convert binon32 as get_highest_layer in default keymaps
2019-11-21 22:40:29 -08:00
Drashna Jaelre
e6b9980bd4 Remove keymap_config extern from default keymaps (#7399)
* Remove keymap_config extern from default keymaps

* Revert unicode

Apparently VSCode does not like unicode, I didn't actually edit these lines, so it must have been automatic... :(

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-20 22:31:36 +00:00
Mark Stosberg
c178bbf2e5 Illustrate the emoji layer (#6555)
Now the Emoji layer is easier to visualize.
2019-08-17 08:18:40 -07:00
Priyadi Iman Nurcahyo
36e950a13f [Keymap] Added compatibility for Planck rev6 (#5706)
* Update code for compatibility with latest QMK

* Added compatibility with Planck rev6

* use wait_ms instead of _delay_ms

* removed unnecessary rules

* disable audio on rev4 only
2019-04-29 09:33:13 -07:00
fauxpark
3b2a484a5b Remove redundant KC_TRNS and KC_NO fillers in remaining keymaps (#5154) 2019-02-17 07:38:46 -08:00
fauxpark
e2d3c92199 Remove redundant KC_TRNS and KC_NO fillers in default keymaps (#5152) 2019-02-16 21:36:02 -08:00
fauxpark
79b58937f4 Add C(), A() and G() to match already existing S() (#4673) 2019-01-25 13:12:48 -08:00
noroadsleft
064d9e2175 handwired/promethium Refactor and Configurator support (#4524)
* handwired/promethium: refactor

- config.h files
  - updated to use #pragma once
  - removed redundant config.h includes
- layout macro moved from config.h to promethium.h
- layout macro renamed from KEYMAP_CUSTOM to LAYOUT

* handwired/promethium: Configurator support
2018-12-01 16:29:16 -08:00
Drashna Jaelre
00b6f14821 Replace outdated RGB/Audio information 2018-10-22 14:55:05 -04:00
Joe Wasson
743449472e Make PREVENT_STUCK_MODIFIERS the default (#3107)
* Remove chording as it is not documented, not used, and needs work.

* Make Leader Key an optional feature.

* Switch from `PREVENT_STUCK_MODIFIERS` to `STRICT_LAYER_RELEASE`

* Remove `#define PREVENT_STUCK_MODIFIERS` from keymaps.
2018-09-17 13:48:02 -04:00
Jack Humbert
7f2882832e adds default keymap for handwired boards 2017-10-15 16:52:51 -04:00
Jack Humbert
791b9cc652 remove all makefiles from keyboard directories 2017-09-27 08:21:09 -10:00
skullydazed
4cdcbdb861 Remove all Makefiles from the keyboards directory. (#1660)
* Remove all Makefiles from the keyboards directory.

* update keymaps added in the last 8 days

* Ignore keyboard/keymap makefiles

* update hand_wire to reflect our new Makefile-less reality

* Update the make guide to reflect the new reality

* move planck keymap options to rules.mk

* update planck keymaps 4real

* trigger travis

* add back build_keyboard.mk

* restore changes to build_keyboard
2017-09-08 13:47:50 -04:00
Jack Humbert
107d8031e5 update priyadi's keymap config 2017-08-07 22:36:05 -04:00
Nikolaus Wittenstein
8ddbf7f59f Fix spelling of "persistent"
Fixes #1201.
2017-05-11 15:32:35 -04:00
Priyadi Iman Nurcahyo
343f8d368e Simple RGB backlight theming 2017-04-30 18:04:58 +07:00
Priyadi Iman Nurcahyo
d8f1949029 Promethium update: demo LED, fix PS2 delay, fix LED ordering, change click frequency 2017-04-29 13:21:27 +07:00
Priyadi Iman Nurcahyo
ce0efa6b9a Fix LED sequence; bug fixes 2017-04-19 12:03:48 +07:00
Priyadi Iman Nurcahyo
5bc0c4a011 Fix Planck compatibility 2017-04-19 02:55:19 +07:00
Priyadi Iman Nurcahyo
3fa0b66289 Keymap updates and some adjustment for latest version of QMK 2017-04-19 02:52:57 +07:00
Priyadi Iman Nurcahyo
93b2f23bba Promethium rev2
* 10 more indicator LEDs
* Piezo buzzer
* Uses HC138 decoder to free up 5 pins
* Trackpoint buttons are now part of matrix
2017-04-19 01:38:08 +07:00
Priyadi Iman Nurcahyo
3dab8a60fc added pause, prtsc & ins to list of keys to be processed on release 2017-02-21 16:40:38 +07:00
Priyadi Iman Nurcahyo
57623805e8 Move caps to FUN layer; add Pause key 2017-02-21 16:36:35 +07:00
Priyadi Iman Nurcahyo
b306f83c6b Move del back to fun+backspce 2017-02-21 04:00:05 +07:00
Priyadi Iman Nurcahyo
77f9363675 Only process Fnumber on key release, and only when layer is still active 2017-02-21 03:24:32 +07:00
Priyadi Iman Nurcahyo
e5bd81f0a6 Fix integer overflow 2017-02-16 23:56:47 +07:00
Priyadi Iman Nurcahyo
96a8e2d5f5 reposition ins and del key 2017-02-16 23:53:09 +07:00
Priyadi Iman Nurcahyo
ac04fe0301 Added README for my keymap 2017-02-15 19:40:33 +07:00
Priyadi Iman Nurcahyo
3882f97d2e Move keyboard specific stuff to keyboard specific files, and vice versa 2017-02-15 19:22:58 +07:00
Priyadi Iman Nurcahyo
1eac297a2f Added copyright notice 2017-02-15 16:39:19 +07:00