unless iām misunderstanding, no - LED commands go one way, key events come the other way.
not literally. we donāt actually use individual led_set calls. all updates to ledās are with led_level_map. all changes to invididual leds are buffered, and only entire (dirty) quads are transmitted. (on grid:refresh()).
this is generally more efficient, but you can make a script that renders it totally inefficient; for example by doing grid:led() followed by grid:refresh() over and over, instead of using grid:refresh() sparingly once you are done building the LED state you want to see.
we could expose more of the libmonome API to lua if people want to use actual col and led commands. but then they have to know about the bandwidth tradeoffs inherent therein and choose the appropriate method.
(iād like to move this conversation to GH or at least the scripting thread if we want to continue it.)