Skip to content

v7.0.0-0

Pre-release
Pre-release
Compare
Choose a tag to compare
@Julusian Julusian released this 26 Aug 16:55
· 32 commits to main since this release
2cb0de8

This breaking change has a couple of important changes

Rework discovering device capabilities

Various properties which describe hardware functionality have been removed, and replaced with a new CONTROLS property.
This property describes every input/output type on a streamdeck, including the encoders and any lcd segments.

A typical entry in this array for a button looks like:

{
    type: 'button',
    row: 0,
    column: 0,
    index: 0,
    hidIndex: 0,
    feedbackType: 'lcd',
    pixelSize: {
        width: 72,
        height: 72,
    },
}

This allows for providing more information about each available control, including some specifics such as row and column instead of simply index.

This also allows for describing buttons of differing abilities, such as those which don't support feedback (such as on the pedal), or those with only rgb (such as the neo).

A consequence of this, is that the relationship between the encoders and lcd strip on the plus has been cut, as this does not translate well to the neo or other models. Instead you can use fillLcdRegion to fill a subregion of the lcd segment manually.

Rework emitted events

Along with the improved definition of the controls, the events emitted now reuse the same control definitions instead of simply reporting the button index.
This allows us to condense the number of events emitted.

  • down and encoderDown have been combined into down
  • up and encoderUp have been combined into up
  • rotateLeft and rotateRight have been combined into rotate

Removed deprecated options

When opening the streamdeck, it is no longer possible to specify useOriginalKeyOrder. It only applied to the original 15key model, the normalised key order is now always used.

The temporary useSyncNodeHid option in the node package has been removed, dropping support for older node-hid backends.

Dropped support for nodejs v18 and older.

These versions are no longer supported by nodejs, making it harder for us to support them properly.