Touch Adaptation Kit Command Line Tool (tak.exe)

Use this topic to create and validate touch control layouts by using the Touch Adaptation Kit (TAK).

takxconfig.json and .takx Files

The primary file types that the tak.exe command line tool operates on are the unpacked bundle configuration file (takxconfig.json), or a packaged bundle (.takx) file. Depending on the command being run one of these file types is always usable and represents the entire touch bundle. For backwards compatibility and to make some inner loop scenarios easier, legacy arguments like --layout-path are still supported and will override content from the takxconfig.json

Properties

$schema - string. JSON schema for a touch bundle config file. This should look similar to https://raw.githubusercontent.com/microsoft/xbox-game-streaming-tools/main/touch-adaptation-kit/schemas/takxconfig/v1/takxconfig.json depending on the schema version selected.

version - string. Four part (e.g. 1.0.0.0) version number for the bundle.

versionName - string, optional. Descriptive name of the version of the bundle.

layouts - object. Object defining the layouts option for the bundle. The path property within this specifies the relative path where the layouts are located.

assets - object, optional. Object defining the assets option for the bundle. The path property within this specifies the relative path where the assets are located.

context - object, optional. Object defining the context option for the bundle. The path property within this specifies the relative path where the context file is located.

languages - object, optional. Object defining the context option for the bundle. The items property within this is an array that specifies languages supported by the bundle.

Samples

{
  "$schema": "https://raw.githubusercontent.com/microsoft/xbox-game-streaming-tools/main/touch-adaptation-kit/schemas/takxconfig/v1/takxconfig.json",
  "layouts": {
    "path": "./layouts"
  },
  "assets": {
    "path": "./assets"
  },
  "context": {
    "path": "./context.json"
  },
  "languages": [
    "en",
    "en-US"
  ],
  "version": "2.0.0.0"
}

Please see our GitHub for complete samples using the takxconfig.json file.

Requirements

The version of the file is specified by the $schema attribute in the json file. This specifies the specific set of properties available and enables IntelliSense in some editors.

The properties described above are valid for the latest supported schema version. For older schema properties please see our GitHub.

Commands

Use the commands shown in the following table to ensure that touch controls work as intended when your title is played by using Xbox Game Streaming.

Command Description
create Create the source content of a touch adaptation bundle, or add a layout to an existing one.
convert Convert a legacy layout set file into layout files that align with the latest format standards that our services support.
license Display or accept the End User License Agreement (EULA) of the Touch Adaptation Kit Command Line Tool.
notice Display information about the third party material incorporated in this software.
pack Builds a touch adaptation bundle from a set of source content.
serve Provides a touch adaptation bundle so that a client application can download and use it.
settings View and set application settings.
takx-version Determines the version of both the touch adaptation bundle and the maximum schema version of an included layout.
unpack Unpacks an existing touch adaptation bundle into its component files.
verify Verifies that the contents of the touch adaptation bundle are valid.
version Display version information about the Touch Adaptation Kit Command Line Tool.

Options

Use the information in the following table to apply the appropriate flags to all commands.

Options Description
-v, --verbosity Set the output verbosity of the command. The valid values for these flags are Critical, Debug, Error, Information, None, Trace, and Warning. The default verbosity is Information.
--version Show version information.
--accept-license Accept the license agreement of the application before running the command. Useful for automation.
--reset-appId Reset the Application ID that is associated with your machine.
-?, -h, --help Show help and usage information.

See also

Getting started with touch
Web Content test application (CTA)