v7.0.0-0
Pre-releaseThis 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
andencoderDown
have been combined intodown
up
andencoderUp
have been combined intoup
rotateLeft
androtateRight
have been combined intorotate
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.