Fab4 IR Handling Notes
From SqueezeboxWiki
Contents |
Development notes about the new IR support created for Fab 4
TODO
- Resolve location of map files
- map file versioning? what happens if user changes, will next software update with a new mapping file overwrite
- long hold (for left arrow)
- ir blaster
- Integration with action event model
Events generated
IR input will cause the following events to be sent:
- EVENT_IR_DOWN - sent as soon as a new code has been sent
- EVENT_IR_REPEAT - sent out as fast as ir codes are received after IR_DOWN occurs
- EVENT_IR_PRESS - sent when no new codes are received (or a new key is pressed) prior to the IR_HOLD_TIMEOUT time
- EVENT_IR_HOLD - sent once when ir input occurs and the IR_HOLD_TIMEOUT time has been exceeded
- EVENT_IR_UP - sent when input stops (IR_KEYUP_TIME exceeded) or the ir code changes
- (under consideraton) EVENT_IR_HOLD_LONG - - sent once when ir input occurs and the IR_HOLD_LONG_TIMEOUT time has been exceeded
Acceleration
todo
IR Remote Control Mapping files
todo
Here's an example of the error output if code is looking for a "button name->IR Code" match for a button name that has not been defined (I deleted "up" from the map as a test)
104543:16153 ERROR (Framework.lua:740) - No IR code exists for requested button name (up). Available IR Button Names: (from Squeeze IR Rem otes) add addl_button_1 addl_button_2 addl_button_3 brightness browse browse_album browse_artist browse_music browse_playlists down eight f actory_test_mode favorites five four fwd home left nine now_playing one pause play power power_off power_on repeat reserved rew right searc h search_album search_artist search_song seven shuffle six sleep text_size three two vol_down vol_up zero 104543:16154 ERROR (Framework.lua:741) - Source of the incorrect button name request: (stack traceback: /usr/share/jive/jive/ui/Framework.lua:741: in function 'getIRCodes' /usr/share/jive/jive/ui/Framework.lua:709: in function 'isIRCode' /usr/share/jive/jive/ui/Event.lua:218: in function 'isIRCode' /usr/share/jive/jive/ui/Menu.lua:147: in function '_eventHandler' /usr/share/jive/jive/ui/Menu.lua:356: in function 'callback' /usr/share/jive/jive/ui/Widget.lua:607: in function </usr/share/jive/jive/ui/Widget.lua:583> [C 0x1fbac]: in function '_eventHandler' /usr/share/jive/jive/ui/Window.lua:1295: in function </usr/share/jive/jive/ui/Window.lua:1294> [C 0x13a84]: ? [C 0x13ed8]: in function 'processEvents' /usr/share/jive/jive/ui/Framework.lua:243: in function </usr/share/jive/jive/ui/Framework.lua:241>