Skip to content

Releases: picoruby/prk_firmware

VIA! VIA!! VIA!!!

21 May 00:09
Compare
Choose a tag to compare
VIA! VIA!! VIA!!! Pre-release
Pre-release

VIA 🙌

Big thanks to @yswallow

Caps Lock indicator 🔒💡

Software BOOTSEL reset, Debounce and 4KB limitation lifted

16 Apr 00:10
Compare
Choose a tag to compare

Software rebooting into BOOTSEL mode 😍

Debounce 🤹

4KB limitation lifted 🤸

  • The limitation of the maximum size of keymap.rb is lifted. Now it's 10KB (used to be 4KB)

Bug fix (again) 🤞

  • Fixed the issue on 0.9.12 again
  • Fixed issues/52: Aliased keys like KC_SPC don't work in Keyboard#define_composite_key
  • Fixed issues/66: init_direct_pins was broken in 0.9.11

Bug fix 🐛

27 Jan 00:17
Compare
Choose a tag to compare
Bug fix 🐛 Pre-release
Pre-release
  • Fixed some bugs that relate to "mode key". See #49 for details. Thanks for the report @otahinosame

0.9.12 still has bugs. We will soon release 0.9.13 instead!

Duplex matrix 😎

22 Jan 06:22
cbb9502
Compare
Choose a tag to compare
Duplex matrix 😎 Pre-release
Pre-release

The duplex matrix, a long-awaited feature, is finally out!

Now we encourage you to make a duplex matrix or even a round-robin matrix keyboard with Seeed XIAO RP2040.

Check details of the API here: wiki/Keyscan-matrix#duplex-and-round-robin-matrix

Thanks for your support @swanmatch

Keyboard#define_composite_key

06 Jan 00:20
bf75cb5
Compare
Choose a tag to compare
Pre-release

Now you can define a composite key that reports multiple keycodes at once.

Let's say there is a five-keys pad. You can make the most useful programming tool like this:

kbd.add_layer :default, %i(KC_SPACE CUT COPY PASTE KC_ENTER)
kbd.define_composite_key :CUT,   %i(KC_LCTL KC_X)
kbd.define_composite_key :COPY,  %i(KC_LCTL KC_C)
kbd.define_composite_key :PASTE, %i(KC_LCTL KC_V)

You can also write the equivalent keymap in a single line:

kbd.add_layer :default, [ :KC_SPACE, [:KC_LCTL, :KC_X], [:KC_LCTL, :KC_C], [:KC_LCTL, :KC_V], :KC_ENTER ]

If you prefer to make an array of symbols with %i syntax, the former should seem elegant.

If you don't mind typing more colons, commas, and nested brackets, the latter would be intuitive.

Furthermore, Ruby generously allows you to use an inconsistent but labor-saving code:

kbd.add_layer :default, [ :KC_SPACE, %i(KC_LCTL KC_X), %i(KC_LCTL KC_C), %i(KC_LCTL KC_V), :KC_ENTER ]

Thanks for the discussion @yhara

Direct scan👏

15 Dec 04:28
Compare
Choose a tag to compare
Direct scan👏 Pre-release
Pre-release

Supports direct scan

  • Some keyboards support direct scan. e.g. https://www.sho-k.co.uk/tech/1246.html
    Now you can configure it as follow:

    kbd.set_scan_mode = :direct
    kbd.init_pins(
      [],
      [ 8, 27, 28, 29, 9, 26 ]
    )

    or

    kbd.init_direct_pins(
      [ 8, 27, 28, 29, 9, 26 ]
    )

Thanks to @takkanm

🎛🎛🎛RotaryEncoder🎛🎛🎛🎛

10 Dec 00:34
Compare
Choose a tag to compare

RotaryEncoder enhancement

  • Multiple encoders can be configured on a unit🎛
  • :RGB_xxx keycodes work with encoders🌈
  • The accuracy of rotation made a big improvement😎
  • Thanks to @Taro-Hayashi

Bugfix

  • Fixed some tiny bugs

keymap.rb with CRLF line terminators now works

02 Dec 08:42
Compare
Choose a tag to compare

Thanks for the bug report @policium

Keycodes for RGB and Mutual UART

30 Nov 13:14
Compare
Choose a tag to compare
Pre-release

Big improvements

  • RGB feature
    • Keycodes like :RGB_TOG (to toggle the LED between on and off, for example) are added
    • You can set default values of an RGB instance in keymap.rb. eg) rgb = RGB.new; rgb.speed to change the speed of blinking
    • On a split type keyboard like CRKBD, LEDs of left and right will be synchronized when you enable "Mutual UART" (see below)
  • Mutual UART communication on a split type keyboard on TRS (not TRRS) cable
    • This experimental feature realizes
      • Synchronized RGB blinking on both halves (anchor half and partner half)
      • Keycodes like :RGB_TOG work also on the "partner half"
    • See wiki/Mutual-UART-communication
  • If you feel this release is unstable, use 0.9.5.1 instead then report an issue!

Hotfix: MAX_SYMBOLS_COUNT

15 Nov 14:20
08c016d
Compare
Choose a tag to compare
Pre-release
  • Fix a fatal error due to overflow MAX_SYMBOLS_COUNT. Thanks to @geeknees