<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qmk_sweep_skeletyl/quantum/process_keycode/process_unicode_common.c, branch master</title>
<subtitle>my qmk configs</subtitle>
<id>http://archive.git.mgrote.net/qmk_sweep_skeletyl/atom?h=master</id>
<link rel='self' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/'/>
<updated>2023-08-27T03:30:19+00:00</updated>
<entry>
<title>Unicode, Unicodemap and UCIS refactor (#21659)</title>
<updated>2023-08-27T03:30:19+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2023-08-27T03:30:19+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=70e34e491c297231a3f987fd69760d38e79dbfa4'/>
<id>urn:sha1:70e34e491c297231a3f987fd69760d38e79dbfa4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Normalise Unicode keycodes (#18898)</title>
<updated>2022-10-31T21:15:12+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2022-10-31T21:15:12+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=5974d989fe72f6c576901a065bee4487a58c351d'/>
<id>urn:sha1:5974d989fe72f6c576901a065bee4487a58c351d</id>
<content type='text'>
* `UC_MOD`/`UC_RMOD` -&gt; `UC_NEXT`/`UC_PREV`

* `UNICODE_MODE_*` -&gt; `QK_UNICODE_MODE_*`

* `UC_MAC` -&gt; `UNICODE_MODE_MACOS`

* `UC_LNX` -&gt; `UNICODE_MODE_LINUX`

* `UC_WIN` -&gt; `UNICODE_MODE_WINDOWS`

* `UC_BSD` -&gt; `UNICODE_MODE_BSD`

* `UC_WINC` -&gt; `UNICODE_MODE_WINCOMPOSE`

* `UC_EMACS` -&gt; `UNICODE_MODE_EMACS`

* `UC__COUNT` -&gt; `UNICODE_MODE_COUNT`

* `UC_M_MA` -&gt; `UC_MAC`

* `UC_M_LN` -&gt; `UC_LINX`

* `UC_M_WI` -&gt; `UC_WIN`

* `UC_M_BS` -&gt; `UC_BSD`

* `UC_M_WC` -&gt; `UC_WINC`

* `UC_M_EM` -&gt; `UC_EMAC`

* Docs

* Update quantum/unicode/unicode.h</content>
</entry>
<entry>
<title>Refactor Unicode feature (#18333)</title>
<updated>2022-09-12T15:49:04+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2022-09-12T15:49:04+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=3d667f09705fa780bd5881cfa3b3cb10fa41b1fe'/>
<id>urn:sha1:3d667f09705fa780bd5881cfa3b3cb10fa41b1fe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add unicode mode change callbacks (#18235)</title>
<updated>2022-08-31T23:39:16+00:00</updated>
<author>
<name>Joshua Diamond</name>
</author>
<published>2022-08-31T23:39:16+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=e4bf8323688b56cd5fc0f4f27c531f3406d40f6d'/>
<id>urn:sha1:e4bf8323688b56cd5fc0f4f27c531f3406d40f6d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use a macro to compute the size of arrays at compile time (#18044)</title>
<updated>2022-08-30T08:20:04+00:00</updated>
<author>
<name>Jeff Epler</name>
</author>
<published>2022-08-30T08:20:04+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=9632360caa5e6511b0ec13cb4c55eb64408232b5'/>
<id>urn:sha1:9632360caa5e6511b0ec13cb4c55eb64408232b5</id>
<content type='text'>
* 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 &lt;karlk90@pm.me&gt;</content>
</entry>
<entry>
<title>Added emacs as an "operating system" for input mode.  (#16949)</title>
<updated>2022-08-14T19:24:52+00:00</updated>
<author>
<name>Chewxy</name>
</author>
<published>2022-08-14T19:24:52+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=6fc7c03e9581ddde68b32f2f76f8053628da6465'/>
<id>urn:sha1:6fc7c03e9581ddde68b32f2f76f8053628da6465</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix and add unit tests for Caps Word to work with Unicode Map, Auto Shift, Retro Shift. (#17284)</title>
<updated>2022-06-05T07:14:02+00:00</updated>
<author>
<name>Pascal Getreuer</name>
</author>
<published>2022-06-05T07:14:02+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=95d20e6d8bb1ffaf3024af793daf789ee0b75727'/>
<id>urn:sha1:95d20e6d8bb1ffaf3024af793daf789ee0b75727</id>
<content type='text'>
* Fix Caps Word and Unicode Map

* Tests for Caps Word + Auto Shift and Unicode Map.

* Fix formatting

* Add additional keyboard report expectation macros

This commit defines five test utilities, EXPECT_REPORT, EXPECT_UNICODE,
EXPECT_EMPTY_REPORT, EXPECT_ANY_REPORT and EXPECT_NO_REPORT for use with
TestDriver.

EXPECT_REPORT sets a gmock expectation that a given keyboard report will
be sent. For instance,

  EXPECT_REPORT(driver, (KC_LSFT, KC_A));

is shorthand for

  EXPECT_CALL(driver,
      send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A)));

EXPECT_UNICODE sets a gmock expectation that a given Unicode code point
will be sent using UC_LNX input mode. For instance for U+2013,

  EXPECT_UNICODE(driver, 0x2013);

expects the sequence of keys:

  "Ctrl+Shift+U, 2, 0, 1, 3, space".

EXPECT_EMPTY_REPORT sets a gmock expectation that a given keyboard
report will be sent. For instance

  EXPECT_EMPTY_REPORT(driver);

expects a single report without keypresses or modifiers.

EXPECT_ANY_REPORT sets a gmock expectation that a arbitrary keyboard
report will be sent, without matching its contents. For instance

  EXPECT_ANY_REPORT(driver).Times(1);

expects a single arbitrary keyboard report will be sent.

EXPECT_NO_REPORT sets a gmock expectation that no keyboard report will
be sent at all.

* Add tap_key() and tap_keys() to TestFixture.

This commit adds a `tap_key(key)` method to TestFixture that taps a
given KeymapKey, optionally with a specified delay between press and
release.

Similarly, the method `tap_keys(key_a, key_b, key_c)` taps a sequence of
KeymapKeys.

* Use EXPECT_REPORT, tap_keys, etc. in most tests.

This commit uses EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT,
EXPECT_NO_REPORT, tap_key() and tap_keys() test utilities from the
previous two commits in most tests. Particularly the EXPECT_REPORT
macro is frequently useful and makes a nice reduction in boilerplate
needed to express many tests.

Co-authored-by: David Kosorin &lt;david@kosorin.net&gt;</content>
</entry>
<entry>
<title>Quantum Painter (#10174)</title>
<updated>2022-04-13T08:00:18+00:00</updated>
<author>
<name>Nick Brassel</name>
</author>
<published>2022-04-13T08:00:18+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=1f2b1dedccdf21b629c45ece80b4ca32f6653296'/>
<id>urn:sha1:1f2b1dedccdf21b629c45ece80b4ca32f6653296</id>
<content type='text'>
* Install dependencies before executing unit tests.

* Split out UTF-8 decoder.

* Fixup python formatting rules.

* Add documentation for QGF/QFF and the RLE format used.

* Add CLI commands for converting images and fonts.

* Add stub rules.mk for QP.

* Add stream type.

* Add base driver and comms interfaces.

* Add support for SPI, SPI+D/C comms drivers.

* Include &lt;qp.h&gt; when enabled.

* Add base support for SPI+D/C+RST panels, as well as concrete implementation of ST7789.

* Add support for GC9A01.

* Add support for ILI9341.

* Add support for ILI9163.

* Add support for SSD1351.

* Implement qp_setpixel, including pixdata buffer management.

* Implement qp_line.

* Implement qp_rect.

* Implement qp_circle.

* Implement qp_ellipse.

* Implement palette interpolation.

* Allow for streams to work with either flash or RAM.

* Image loading.

* Font loading.

* QGF palette loading.

* Progressive decoder of pixel data supporting Raw+RLE, 1-,2-,4-,8-bpp monochrome and palette-based images.

* Image drawing.

* Animations.

* Font rendering.

* Check against 256 colours, dump out the loaded palette if debugging enabled.

* Fix build.

* AVR is not the intended audience.

* `qmk format-c`

* Generation fix.

* First batch of docs.

* More docs and examples.

* Review comments.

* Public API documentation.</content>
</entry>
<entry>
<title>Remove `send_unicode_hex_string()` (#16518)</title>
<updated>2022-03-04T11:04:45+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2022-03-04T11:04:45+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=f634fddd344a456c3eff8014d9d58a2d764d7a8c'/>
<id>urn:sha1:f634fddd344a456c3eff8014d9d58a2d764d7a8c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Format code according to conventions (#16322)</title>
<updated>2022-02-12T18:29:31+00:00</updated>
<author>
<name>QMK Bot</name>
</author>
<published>2022-02-12T18:29:31+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=63646e8906e062d1c1de3925cba70c4e3426a855'/>
<id>urn:sha1:63646e8906e062d1c1de3925cba70c4e3426a855</id>
<content type='text'>
</content>
</entry>
</feed>
