Skip to content

Controls

James Ridgway edited this page Feb 13, 2021 · 2 revisions

DevDeck comes with a number of controls built-in.

Clock Control

Displays the current date and time.

The clock control does not have any settings.

Example usage:

decks:
  - serial_number: "ABC123456789"
    name: 'devdeck.decks.single_page_deck_controller.SinglePageDeckController'
    settings:
      controls:
        - name: 'devdeck.controls.clock_control.ClockControl'
          key: 0

Command Control

A command control allows you to execute any command of your choosing.

Setting Description
command The command to run
icon The path to an image file to use as the key icon

Example usage:

decks:
  - serial_number: "ABC123456789"
    name: 'devdeck.decks.single_page_deck_controller.SinglePageDeckController'
    settings:
      controls:
        - name: 'devdeck.controls.command_control.CommandControl'
          key: 0
          settings:
            command:
            - vlc
            - --qt-minimal-view
            - --no-audio
            - rtsp://192.168.1.1:1234/xS75BaMICeNPP4j8LkavStExMGeNpdxj
            icon: '/home/james/.devdeck/cctv/cctv-front.png'

In the above example a CommandControl is added as the first key on the deck, when pressed it will launch VLC with the relevant rtsp feed.

Mic Mute Control

The Mic Mute control allows you to toggle the mute status of your microphone.

Please note that this control requires PulseAudio.

Setting Description
microphone Description of the input interface

Example usage:

decks:
  - serial_number: "ABC123456789"
    name: 'devdeck.decks.single_page_deck_controller.SinglePageDeckController'
    settings:
      controls:
        - name: 'devdeck.controls.mic_mute_control.MicMuteControl'
          key: 0
          settings:
            microphone: Scarlett Solo USB Digital Stereo (IEC958)

pacmd can be used to list the description of the input interfaces:

pacmd list-sources | grep "device.description ="

Name List Control

The Name List control allows you to cycle through a set of initials. This can be useful for work activities such as stand-ups and other ceremonies.

Setting Description
names A list of full names

Example usage:

decks:
  - serial_number: "ABC123456789"
    name: 'devdeck.decks.single_page_deck_controller.SinglePageDeckController'
    settings:
      controls:
        - name: 'devdeck.controls.name_list_control.NameListControl'
          key: 0
          settings:
            names:
            - Adam Smith
            - Jane Doe

Timer Control

A basic stopwatch timer, that when pressed will cycle through start, stop or reset the time.

The timer updates each second with the elapsed time in HH:MM:SS

Example usage:

decks:
  - serial_number: "ABC123456789"
    name: 'devdeck.decks.single_page_deck_controller.SinglePageDeckController'
    settings:
      controls:
        - name: 'devdeck.controls.timer_control.TimerControl'
          key: 0

Volume Level Control

Set an output audio interface to a specific volume level.

Please note that this control requires PulseAudio.

Setting Description
output Description of the output interface
Level Volume level (0-100)

pacmd can be used to list output interfaces:

pacmd list-sinks | grep "device.description ="

Example usage:

decks:
  - serial_number: "ABC123456789"
    name: 'devdeck.decks.single_page_deck_controller.SinglePageDeckController'
    settings:
      controls:
        - name: 'devdeck.controls.volume_level_control.VolumeLevelControl'
          key: 0
          settings:
            output: Built-in Audio Analogue Stereo
            level: 80

The above example will provide a control that will set the volume level to 80% on the given output interface

Volume Mute Control

Toggles the mute state of an output audio interface.

Please note that this control requires PulseAudio.

Setting Description
output Description of the output interface

pacmd can be used to list output interfaces:

pacmd list-sinks | grep "device.description ="

Example usage:

decks:
  - serial_number: "ABC123456789"
    name: 'devdeck.decks.single_page_deck_controller.SinglePageDeckController'
    settings:
      controls:
        - name: 'devdeck.controls.volume_mute_control.VolumeMuteControl'
          key: 0
          settings:
            output: Built-in Audio Analogue Stereo
Clone this wiki locally