Skip to content

Latest commit

ย 

History

History
319 lines (236 loc) ยท 12.6 KB

CHANGELOG.md

File metadata and controls

319 lines (236 loc) ยท 12.6 KB

Change log

0.9.23 on 2023/11/19

require

  • It is now possible to load external libraries by require and load. See wiki/require

0.9.22 on 2023/09/04

Software (Bitbang) SPI

0.9.21 on 2023/05/23

[Experimental] Mouse ๐Ÿญ๐Ÿ–ฑ๐Ÿ–ฒ๏ธ with I2C, SPI, and ADC

  • Now you can configure any device such as a trackball, touchpad, and joystick as a Mouse by taking advantage of hardware peripheral features like I2C, SPI, and ADC
  • Currently, a Mouse instance on the partner half of a split-type keyboard does not work. We are investigating how to implement
  • Because this Mouse feature is experimental, the API design may change during the implementation to make it work on both halves
  • Take a good look at wiki/Mouse

The mass storage drive is re-implemented with File class of PicoRuby

  • The name of the drive is changed from PRKFirmware to PRK DRIVE
  • keymap.rb is no longer deleted on re-installing PRK's uf2
  • This re-implementation basically should not affect any other keyboard behaviors

Known issue

  • Although the drive's functionality is sanity, the host computer sometimes recognizes the drive name as USB Drive instead of PRK DRIVE. Send us a patch if you could fix it!

0.9.20 on 2022/12/04

Bug fix ๐Ÿ’ก

  • The instability when start-up especially upgrading uf2 is fixed

Deprecation

  • Hardware one-way UART on split-type is deprecated. Instead, software mutual UART is now the default and the only option
    • Keyboard#mutual_uart_at_my_own_risk= no longer takes any effect

0.9.19 on 2022/12/26

Bug fix๐Ÿ›

  • An issue that PRK isn't recognized by macOS and iOS from version 0.9.15

Improvement ๐Ÿ”ˆ

  • Sounder pitch might become correct than before but the author experiences somehow unstable behavior until now. Please ping us your opinion from an actual usage

What's Changed

  • Update package database on Docker by @buty4649 in #145
  • Fix build process by @hasumikin in #151
  • Get rid of cdc_task() by @hasumikin in #146
  • Take out Joystick report by @yswallow in #152
  • Fix Sounder pitch issue by @yswallow in #153
  • Fix: invalid key input when modifier press by @hasumikin in #154

0.9.18 on 2022/09/17

RGB Matrix๐ŸŒˆ

See wiki/RGB Matrix.

Sounder๐ŸŽธ & Music Macro Language๐ŸŽผ

See wiki/Sounder and wiki/Music Macro Languagel

Keyboard#inject_switch

You can arbitrarily inject a switch position of the matrix as if it was tapped.

See wiki/Keyboard#inject_switch.

[Experimental] BIOS mode๐Ÿ› ๏ธ

See wiki/BIOS mode.

0.9.17 on 2022/08/06

Consumer key ๐Ÿ”ˆ๐Ÿ”‡๐Ÿ”Š

See wiki/Consumer key

Keyboard#send_key๐ŸŽ›๏ธ

It now accepts multiple keycodes. Good for combining with rotary encoders. Check an example on wiki/Rotary encoder.

PRK_DESCRIPTION๐Ÿ“

Version number, built date, and revision hash are shown on serial console at boot time.

PicoRuby version 3.1๐Ÿ”ฅ

The programming processing system, PicoRuby, upgraded from 3.0 to 3.1. This shouldn't affect any external behavior regarding keyboard (hopefully๐Ÿคž).

One beneficial thing to users is that the functionality of exceptions improved. Let's say you mistakenly write kbd = Keyb_oard.new, not kbd = Keyboard.new, an error message will show on the serial console:

In such a situation, your keyboard doesn't work as a keyboard but the PRKFirmware storage drive keeps alive. Until version 0.9.16, the drive was unexpectedly unmounted and you might have difficulty rewriting your keymap.rb.

Again, we strongly recommend using a serial console when your keymap.rb doesn't work. See wiki/Debug print

Bug fix๐Ÿ›

  • An issue related to "Startup time reducedโŒจ๐Ÿ’จ" issues/120
  • An issue of RGB issue/122
  • Improve serial console print that used to be often tangled

0.9.16 on 2022/07/20

Improvement

  • [Experimental] Startup time reducedโŒจ๐Ÿ’จ
    We really hope all guys try this version and report to us if there's a problem of any kind๐Ÿ™

0.9.15 on 2022/07/19

Joystick๐Ÿ•น

Improvements

Bug fix

  • A bug that some alias keycodes didn't work issue/106
  • Some fixes of VIA

0.9.14 on 2022/05/21

VIA! VIA!! VIA!!! ๐Ÿ™Œ

Caps Lock indicator ๐Ÿ”’๐Ÿ’ก

0.9.13 on 2022/04/16

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

0.9.12 on 2022/01/27 revoked

Bug fix ๐Ÿ›

  • Fixed some bugs that relate to mode key. See issue/49 for details

0.9.11 on 2022/01/21

Duplex matrix ๐Ÿ˜Ž

0.9.10 on 2022/01/06

Keyboard#define_composite_key

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 this way:

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.

0.9.9 on 2021/12/15

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 ]
    )

0.9.8 on 2021/12/10

RotaryEncoder enhancement

  • Multiple encoders can be configured on a unit๐ŸŽ›
  • :RGB_xxx keycodes work with encoders๐ŸŒˆ
  • The accuracy of rotation made a big improvement๐Ÿ˜Ž

Bug fix

  • Some tiny bugs are fixed

0.9.7 on 2021/12/02

Bug fix

  • keymap.rb with CRLF line terminators now works

0.9.6 on 2021/11/30

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

0.9.5 on 2021/10/27

Breaking Change ๐ŸŒˆ

  • Amend names of RGB.effect
    • from :rainbow to :swirl
    • from :breathing to rainbow_mood

Improvements

  • Some keycodes for Japanese keyboard added. See pull/31
  • Improved startup stability. The startup time is increased, but be patient!

0.9.4 on 2021/09/24

Improvement

  • Now you can use "Right side flipped split" keyboard (eg. Zinc). See pull/22

0.9.3 on 2021/09/17

Improvement

  • Abbreviated keynames things like KC_ENT for KC_ENTER can be used in keymap.rb. See bc23e52

0.9.2 on 2021/09/15

Useful feature ๐ŸŽ‰

  • You can see debug print on a USB serial port that will be helpful if your keymap.rb doesn't work well

    • Configuration:

      Baud: 115200
      Data bits: 8
      Parity: None
      Stop bits: 1
      Flow control: None
      

0.9.1 on 2021/09/12

Small improvement

  • Sparkfun Pro Micro RP2040 will reboot to BOOTSEL mode if you double-press RESET button without detaching USB cable!

0.9.0 on 2021/09/10 (First release๐ŸŽŠ)

BIG BIG IMPROVEMENT ๐Ÿฃ

  • You no longer need any compiler toolchain!!!
  • No longer detaching USB cable every time amending your keymap, too!!!
  • See README.md ๐Ÿ‘€

2021/08/17

Breaking Change ๐Ÿ’ฃ

  • Code upgraded to correspond to the newest pico-sdk as of today. Please upgrade your pico-sdk

2021/08/16

Changed

  • Bump up PicoRuby to "mruby3 version"
  • There is no external change though, if your keymap doesn't work, try to add sleep 1 to the beggining of your keymap.rb

2021/06/19

New feature added

2021/06/01

Breaking Change ๐Ÿ’ฃ

  • The second argument of Keyboard#add_layer

    Before the change: Array[Array[Symbol]]

    kbd.add_layer :default, [
      %i(KC_ESCAPE KC_Q KC_W KC_E KC_R KC_T KC_Y KC_U KC_I KC_O KC_P      KC_MINUS),
      %i(KC_TAB    KC_A KC_S KC_D KC_F KC_G KC_H KC_J KC_K KC_L KC_SCOLON KC_BSPACE),
      ...
    ]

    After the change: Array[Symbol]

    kbd.add_layer :default, %i(
      KC_ESCAPE KC_Q KC_W KC_E KC_R KC_T KC_Y KC_U KC_I KC_O KC_P      KC_MINUS
      KC_TAB    KC_A KC_S KC_D KC_F KC_G KC_H KC_J KC_K KC_L KC_SCOLON KC_BSPACE
      ...
    )

2021/05/21

Dependency

  • CRuby (MRI) for static type checking by RBS and Steep

Changed

  • Directory of Ruby source is changed from src/ to src/ruby/

2021/05/08

Added

  • RGB class ๐ŸŒˆ

2021/04/14

  • Published as a public beta ๐ŸŽ‰