Goal today was to unify the LID (linux event input interface) in SC with the new HID methods, so that in the end GeneralHID can be deprecated without losing anything that that added to the LID functionality.

The result is in this commit:

https://github.com/sensestage/supercollider/commit/5a889b7c4ec12382c6a37544687c58defda17654

The interface in as far as it is working now (similar to HID and GeneralHID).

`
LID.findAvailable;</p>

LID.postAvailable;

LID.available;

LID.findBy(0x0002, 0x000A);

~mylid = LID.open( 0x0002, 0x000A );
~mylid = LID.openAt( 11 );
~mylid = LID.openPath( "/dev/input/event5" );

~mylid.action = { |...args| args.postln; };
//is passed: evtType, evtCode, evtValue, slots[evtType][evtCode].value

~mylid.postInfo;

// ---- debugging ----

~mylid.debug_( true );
~mylid.debug_( false );

LID.debug_( true );
LID.debug_( false );

~mylid.slots[1][272].debug_( true ); // left
~mylid.slots[1][273].debug_( true ); // right
~mylid.slots[1][274].debug_( true ); // middle

~mylid.slots[1][272].debug_( false ); // left
~mylid.slots[1][273].debug_( false ); // right
~mylid.slots[1][274].debug_( false ); // middle

~mylid.slots[2][0].debug_( true );
~mylid.slots[2][1].debug_( true );

~mylid.slots[2][0].debug_( false );
~mylid.slots[2][1].debug_( false );

/// --- values, etc:

~mylid.slots[2][0].value;

~mylid.slots[2][0].rawValue;

~mylid.slots[2][0].delta;

~mylid.slots[2][0].action = { |slot| slot.postln; };
~mylid.slots[2][0].action = {};

s.boot;
~mylid.slots[2][0].createBus( s );

~mylid.slots[2][0].bus;

~mylid.slots[2][0].freeBus;

~mylid.slots[2][0].bus;

// closing

~mylid.close;

LID.closeAll;

`