Acknowledged
CIQQA-3370

Instinct 3 Solar has System.DeviceSettings.isTouchScreen in Simulator and on Device

The Instinct 3 Solar exposed the System.DeviceSettings.isTouchScreen-property. It is set to false, but this property is widely used to discern device that have a touch-screen from devices that do not have a touch screen.

In my opinion it should not be exposed on devices that don't have a touch-screen.

The property is exposed in the simulator and on device for the Instinct 3 Solar.

Parents
  • - you can easily open ...\ConnectIQ\ on your computer by opening the command palette in VS Code, selecting "Monkey C: Open Samples Folder", and navigating up 3 levels

    - on windows, the location is %appdata%\garmin\connectiq

    - on macos, the location is $HOME/"Library/Application Support/Garmin/ConnectIQ"

    - each device has its own folder under the device library

    - each device folder contains important device config files such compiler.json and simulator.json

    - for devices which support the personality library, the corresponding device folder contains personality.mss

    - personality.mss contains the property device_info.hasTouchScreen (true or false)

    But how can I access this information at runtime, you might ask?

    It would be great if this was documented, but it isn't. You have to successfully build an app for your CIQ 3.4 (or higher) device, and you'll see some auto-generated resource code which corresponds to personality style information.

    [2/3]

Comment
  • - you can easily open ...\ConnectIQ\ on your computer by opening the command palette in VS Code, selecting "Monkey C: Open Samples Folder", and navigating up 3 levels

    - on windows, the location is %appdata%\garmin\connectiq

    - on macos, the location is $HOME/"Library/Application Support/Garmin/ConnectIQ"

    - each device has its own folder under the device library

    - each device folder contains important device config files such compiler.json and simulator.json

    - for devices which support the personality library, the corresponding device folder contains personality.mss

    - personality.mss contains the property device_info.hasTouchScreen (true or false)

    But how can I access this information at runtime, you might ask?

    It would be great if this was documented, but it isn't. You have to successfully build an app for your CIQ 3.4 (or higher) device, and you'll see some auto-generated resource code which corresponds to personality style information.

    [2/3]

Children
  • For example, if I build an app for fr955, the following file is created as part of the build output:

    bin\gen\006-B4024-00\source\rez.mcgen

    Here we can see that hasTouchScreen can be accessed as follows:

    const hasTouchScreen = Rez.Styles.device_info.hasTouchScreen;

    [3/3]