Key Logger Element

Modified on 2018/08/03 00:44 by Administrator — Categorized as: Base Elements, Input Registration

Summary

Element Icon Key Logger
Info
Category: Input Registration AddIn: Base Layer
Creator: OkazoLab Scope: Parent event
Owns Snippets: None Usage: Snippets

Properties

NameDescription                              ConstraintsTypeOn
runtime
change
Settings
Input Device        Defines the input device                Int32         
Logging Mode        Defines what key events are recorded in the log                enKeyL..         
Column Delimiter        Defines the column delimiter in the recorded key log                String         
Add Line Breaks        Defines whether a line break is added at the end of each log record                Boolean         
Autosave To Report        Defines whether a line break is added at the end of each log record                Boolean         
Runtime Status
Custom Columns        Defines a custom string that are added to the end of each log record. You can use this property to insert columns with extra information and sync markers (e.g. name of the current event) to the key log.                String         
Key Log        Returns the recorded key log as a single string. You can use the returned value for saving the log after the offset of the parent event                String         
Control
Is Enabled        If set to false the element is completely omitted when the experiment is run                Boolean         
Title        Title of the element                String         

Key Logger Element saliently registers and logs all button presses and releases made within the parent event.


Description

Use the Key Logger element, when you want to record all button events over a certain period in an experiment. The Key Logger elements carries logging saliently, so if you plan to handle button responses at run-time, you may prefer use either Button or HID input elements instead. The Key Logger element creates an internal text log, in which each record denotes a button event. The record is composed of 3 columns: time, button name and button state. Here is an example of the key log that recorded a press and subsequent release of the Space button.

Time (ms)Button nameButton State (1-down,0-up)Custom Columns
1034Space1Event1
1472Space0Event2

The column values are separated with a delimiter character that is defined by the Column Delimiter property. By default, a line break is added to the end of each record. The recorded log can be accessed by the Key Log property that returns a current log content as a single string.

Practical Use

Deploying the Key Logger element

  1. Select the event in your experiment, in which you want to log all button presses and releases.
  2. Add the Key Logger element to that event
  3. Browse the button element properties in the property panel
  4. Select the Input Device, for example, the system keyboard
  5. Think of how you are going save the recorded key log (one example is given in the next section)

Saving the recorded key log into Data Report

  1. Add the Key Logger element to a event
  2. Browse the button element properties in the property panel
  3. Select the Input Device, for example, the system keyboard
  4. Create a proxy variable linked to the Key Log property
  5. Open the After Offset snippet of the parent event
  6. Add the following code to the snippet:


Report=KeyLog; // send the recorded key log into the data report

Notes