Das Keyboard 4Q

From TSG Doc
Revision as of 13:39, 3 February 2026 by E.vandenberge (talk | contribs) (Created page with "<!-- Table of Contents will be generated here --> ==Backlight Programming== The Das Keyboard allows for more advanced programming of keys. The photo on the right shows how t...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Backlight Programming

The Das Keyboard allows for more advanced programming of keys. The photo on the right shows how the Das Keyboard can be programmed to react to the key mapping of the experiment. Some participants are instructed to press the E key for a green stimulus and the I key for a blue stimulus. For other participants it is the other way around. These instructions are shown at the start of the experiment. The keyboard backlights are used as a constant reminder of the instructions.

Das Keyboard backlight reacting to the counterbalanced key mapping of a Simon experiment.

If you want to borrow the Das Keyboard 4Q, please contact the Technical Support Group. Please note that the Das Keyboard Q software must be installed on a computer for the keyboard backlights to work.

Detailed information about programming the Das Keyboard 4Q can be found on the manufacturer website. A few examples are given below.

Setting key backlights from Python, the easy way

The easiest way is to use the daskeyboard Python library. Just put the file daskeyboard.py in the same directory as the experiment and use:

import daskeyboard

daskeyboard.keyColor("g", "blue") # G key becomes blue

Setting key backlights from Python, the hard way

What is done below the hood is that your python code calls a restful deamon that controls the keyboard:

#!/usr/bin/env python3 

url = 'http://localhost:27301'

headers = { "Content-type": "application/json"}

import json
import requests

# prepare signal
signal = {
	'zoneId': 'KEY_Q',
	'color': '#F0F',
	'effect': 'SET_COLOR',
	'pid': 'DK4QPID',
	'name': 'Set Q to purple'
}

# send signal
result = requests.post(url + '/api/1.0/signals', data=json.dumps(signal), headers=headers)

# checking the response
if result.ok:
	print("OK")
	print(result.text)
else:
	print("Error: " + result.text)

See Also