forked from TeamTofuShop/segatools
In this PR, I have added the `mai2` touch and `led15070` hooks to provide an example for handling custom peripherals. This change allows users to implement the touch and `led15070` logic by writing appropriate `mai2io` scripts. #### **Touch Hook**: - The touch hook simulates touch points based on keyboard combinations. For example, to trigger the A1 touch point, the user must press the A and 1 keys on the keyboard. Input for the 1p requires Caps Lock to be off, while 2p requires Caps Lock to be on. - The hook allows for independent control of whether device simulation is enabled for "1p" and "2p" and whether keyboard input mapping is enabled. - **Note**: The current touch hook is not yet functional as it requires modifications to the `capnhook` for proper completion of the `sinmai` hook. #### **LED15070 Hook**: - This hook implements basic device simulation. Peripherals requiring lighting data should complete the logic as needed. - **Note**: The LED data refresh can flood the console logs, so I’ve added a `DEBUG` flag to control whether the debug logging is enabled or not. #### **Other Changes**: - In certain versions of `sinmai`, key inputs for 1p and 2p can be directly read from the keyboard without requiring simulation via the `amdaemon io4` hook. I’ve added a switch to control this behavior to prevent redundant input. - **Benefit**: This ensures that key input is only read when `sinmai` is in the foreground. If you'd like to learn more about the touch and `led15070` features, my research findings are available here: [Mai2Touch](https://github.com/Sucareto/Mai2Touch) Co-authored-by: Sucareto <28331534+Sucareto@users.noreply.github.com> Reviewed-on: TeamTofuShop/segatools#55 Co-authored-by: Mahuyo <mahuyo@noreply.gitea.tendokyu.moe> Co-committed-by: Mahuyo <mahuyo@noreply.gitea.tendokyu.moe>
76 lines
1.9 KiB
Meson
76 lines
1.9 KiB
Meson
option('log_all',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enables all of the subsequent debug logging options'
|
|
)
|
|
option('log_jvs',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for JVS'
|
|
)
|
|
option('log_io3',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for JVS'
|
|
)
|
|
option('log_led15070',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for the 15070 LED board emulation'
|
|
)
|
|
option('log_led15093',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for the 15093 LED board emulation'
|
|
)
|
|
option('log_nfc',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for NFC'
|
|
)
|
|
option('log_carol_control_bd',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for the Carlo Control Board'
|
|
)
|
|
option('log_carol_led_bd',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for the Carlo LED Board'
|
|
)
|
|
option('log_carol_touch',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for the Carlo Touchscreen'
|
|
)
|
|
option('log_mai2_touch',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for the mai2 TouchPanel'
|
|
)
|
|
option('log_chuni_slider',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for the Chunithm Slider'
|
|
)
|
|
option('log_chusan_slider',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for the Chusan Slider'
|
|
)
|
|
option('log_diva_slider',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for the Diva Slider'
|
|
)
|
|
option('log_mercury_slider',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for the WACCA Slider'
|
|
)
|
|
option('log_clock',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable debug logging for clock APIs'
|
|
)
|