ODeck - an free and open source alternative to StreamDeck made with React, React Native, Electron, Socket.IO

Overview

image

⚠️ THIS SOFTWARE IS STILL IN ALPHA AND MAY CONTAIN BUGS ⚠️

For Users

ODeck is an free and open source alternative to StreamDeck made with React, React Native, Electron, Socket.IO and some other tecnologies. It allows you to easilly control some features of your computer with the power of a tap on your smartphone.

It tends to be a cheaper sollution for StreamDeck because you can use your current smartphone or clean the dust from an older device from the bottom of your drawer and give another pourpose of life to this device.

Suported OS

Currently ODeck is not yet supported on all platforms, but it should be in the near future. See the listing of the current OS suported.

Deck

  • Android

Admin Dashboard

  • Windows

Current Features

  • Open an URL
  • Emit a combination of keys to invoke hotkeys
  • Run an EXE file
  • Media keys to interact with media playing on your system
  • Create multiple pages
  • Navigate between pages
  • Pair app with QR Code

Upcoming features

  • Internationalization (pt-BR and en-US first)
  • OBS integration
  • Play sound
  • Keybind input
  • Image upload input
  • File picker input
  • Prevent broken layout with custom key amount
  • Twitch integration
  • Add Linux and mac support for Admin Dashboard
  • Add iOS support for the ODeck App

Deck preview

deck.mp4

Admin dashboard preview

admin-dashboard.mp4

Docs

Deck

Navigate

This action allows you to navigate between the deck pages

Go Back

This action allows you to go to the previows page shown

System

Run executable

This action when pressed, opens an especified EXE file. To use it, you must put the complete path of the desired .exe file direct into the "Path" input. (In the near future there will be a button where you will navigate to find your desired file)

image

Hotkey

With this action you will be able to invoke any hotkeys in your machine. It simulate the press of multiple keys in your machine, just like a normal keyboard but with just on touch of your finger.

By now you need to check this documentation here to see all available keys you can use (http://robotjs.io/docs/syntax#keyboard). The most common keys is listed bellow.

  • shift
  • control
  • alt
  • tab
  • right_shift
  • space
  • Numbers and letters are represented by their own values. (a-z,0-9)

For example, if you want to simulate the press of this combination of keys (CTRL + ALT + SHIFT + 1) you will need to replace the key with their value shown on the documentation and separete them with a comma.

control,shift,alt,1

image

Obs: In the near future will be an input to record all keys your key pressed and use this recored keys as value.

Media

This sections is self explanatory. When pressed, it will invoke the button action.

For Contributors

Install

Clone the repo and install dependencies:

git clone https://github.com/willianrod/ODeck.git ODeck
cd ODeck
yarn install

Starting Development

Start the app in the dev environment:

yarn start

Packaging for Production

To package apps for the local platform:

yarn package

Maintainers

License

Credits to electron-react-boilerplate for making an awesome template for creating electron based React application.

MIT © ODeck

You might also like...

The perfect library for adding search, sort, filters and flexibility to tables, lists and various HTML elements. Built to be invisible and work on existing HTML.

List.js Perfect library for adding search, sort, filters and flexibility to tables, lists and various HTML elements. Built to be invisible and work on

Jan 1, 2023

Drag and drop library for two-dimensional, resizable and responsive lists

GridList Drag and drop library for a two-dimensional resizable and responsive list of items Demo: http://hootsuite.github.io/grid/ The GridList librar

Dec 14, 2022

📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings

📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings

JavaScript Algorithms and Data Structures This repository contains JavaScript based examples of many popular algorithms and data structures. Each algo

Dec 31, 2022

Gmail-like client-side drafts and bit more. Plugin developed to save html forms data to LocalStorage to restore them after browser crashes, tabs closings and other disasters.

Sisyphus Plugin developed to save html forms data to LocalStorage to restore them after browser crashes, tabs closings and other disasters. Descriptio

Dec 8, 2022

A lightweight jQuery plugin for collapsing and expanding long blocks of text with "Read more" and "Close" links.

Readmore.js V3 alpha I am deprecating the 2.x version of Readmore.js. A new version is coming soon! Check it out and help me test it! Readmore.js A sm

Nov 30, 2022

FriendAdvisor is a mobile app with a focus on allowing friends and family to coordinate and receive text notifications about upcoming group events.

FriendAdvisor is a mobile app with a focus on allowing friends and family to coordinate and receive text notifications about upcoming group events.

Sep 29, 2022

A responsive image polyfill for picture, srcset, sizes, and more

Picturefill A responsive image polyfill. Authors: See Authors.txt License: MIT Picturefill has three versions: Version 1 mimics the Picture element pa

Dec 31, 2022

JavaScript Survey and Form Library

JavaScript Survey and Form Library

SurveyJS is a JavaScript Survey and Form Library. SurveyJS is a modern way to add surveys and forms to your website. It has versions for Angular, jQue

Jan 1, 2023

Extensive math expression evaluator library for JavaScript and Node.js

Extensive math expression evaluator library for JavaScript and Node.js

🏠 Homepage Fcaljs is an extensive math expression evaluator library for JavaScript and Node.js. Using fcal, you can perform basic arithmetic, percent

Dec 19, 2022
Comments
  • fix(form): reset form after submit

    fix(form): reset form after submit

    Changes

    • Reset form after creating a device or closing the modal
    • Reset form after creating a page or closing the modal

    https://user-images.githubusercontent.com/6539258/197587503-909ad554-8c87-4971-9f25-2abf82559277.mp4

    opened by willianrod 0
  • feat: create a placeholder to an empty key

    feat: create a placeholder to an empty key

    As sugested at #2, was created a placeholder when selected an empty key.

    What was changed

    • Created a placeholder to prevent any bad user experience when using the application
    • Some code improvements

    image

    opened by willianrod 0
  • Delete device feature

    Delete device feature

    Added

    • [x] Button to delete a device in the devices list;
    • [x] Redux thunk to emit the event to delete device;
    • [x] Listener to device event delete;
    • [x] Controller to handle the event and execute the action;

    Screenshots

    image

    hacktoberfest-accepted 
    opened by dennisurtubia 0
  • Delete device feature

    Delete device feature

    Hi, @willianrod. I want to suggest a request 😄.

    A button to delete a device in the Start component, something like this: image

    I think this device delete action may have some rules, e.g some cascade deletion with keys and pages. So, if this feature make sense for you, a description to done this task might be helpful. Also, I can implement this feature :)

    enhancement 
    opened by dennisurtubia 1
Releases(v0.0.3)
  • v0.0.3(Oct 25, 2022)

    Admin Changes

    • feat(keybind): add key bind recorder by @willianrod in https://github.com/willianrod/ODeck/pull/6
    • feat(soundboard): add buttons to play sound by @willianrod in https://github.com/willianrod/ODeck/pull/7
    • feat(file-picker): add file picker by @willianrod in https://github.com/willianrod/ODeck/pull/8
    • fix(i18n): adds missing translation for play sound label by @dennisurtubia in https://github.com/willianrod/ODeck/pull/9
    • fix(responsivity): includes responsiveness on devices index at Start component by @dennisurtubia in https://github.com/willianrod/ODeck/pull/11
    • fix(form): reset form after submission by @willianrod in https://github.com/willianrod/ODeck/pull/12
    • fix(keypad): respect the number of keys horizontally and vertically by @willianrod in https://github.com/willianrod/ODeck/pull/13

    App Changes

    • fix(socket): set connection as offline if the connection is lost
    • fix(keypad): respect the number of keys horizontally and vertically

    New Contributors

    • @dennisurtubia made their first contribution at https://github.com/willianrod/ODeck/pull/9

    Full Changelog: https://github.com/willianrod/ODeck/compare/v0.0.2...v0.0.3

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(86.02 MB)
    ODeck.Setup.0.0.3.exe(60.14 MB)
  • v0.0.2(Mar 9, 2022)

    What's new?

    • Internationalization
      • en-US
      • pt-BR
    • Show placeholder when no keys are selected or when selected key is deleted

    Pull requests

    • feat: create a placeholder to an empty key by @willianrod in https://github.com/willianrod/ODeck/pull/3
    • feat: add i18next localization by @willianrod in https://github.com/willianrod/ODeck/pull/4

    New Contributors

    • @willianrod made their first contribution in https://github.com/willianrod/ODeck/pull/3

    Full Changelog: https://github.com/willianrod/ODeck/compare/v0.0.1...v0.0.2

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(86.02 MB)
    ODeck.Setup.0.0.2.exe(60.26 MB)
    ODeck.Setup.0.0.2.exe.blockmap(65.41 KB)
  • v0.0.1(Feb 20, 2022)

Owner
Willian Rodrigues
CS student at Universidade Tecnologica Federal do Parana
Willian Rodrigues
Free, open-source crypto trading bot, automated bitcoin / cryptocurrency trading software, algorithmic trading bots. Visually design your crypto trading bot, leveraging an integrated charting system, data-mining, backtesting, paper trading, and multi-server crypto bot deployments.

Free, open-source crypto trading bot, automated bitcoin / cryptocurrency trading software, algorithmic trading bots. Visually design your crypto trading bot, leveraging an integrated charting system, data-mining, backtesting, paper trading, and multi-server crypto bot deployments.

Superalgos 3.1k Jan 1, 2023
Drift is a self-hostable Gist alternative and paste service

Drift is a self-hostable Gist clone. It's also a major work-in-progress, but is (almost, no database yet) completely functional.

Max Leiter 901 Jan 1, 2023
Defines the communication layer between mobile native(iOS/Android) and webview using JSON Schema and automatically generates SDK code

Defines the communication layer between mobile native(iOS/Android) and webview using JSON Schema and automatically generates SDK code.

당근마켓 31 Dec 8, 2022
Aplikasi pembelajaran Sekolah Gratis dan Open Source

SekolahYuk SekolahYuk adalah Aplikasi Pembelajaran Online untuk sekolah2 di Indonesia. Dimana Guru bisa memberikan tugas, soal ujian, dan murid bisa m

Zahir Hadi Athallah 32 Dec 2, 2022
🐡 A simple open source phishing platform for red teams

?? A simple open source phishing platform for red teams

Christos Kaltsas 5 Apr 14, 2022
A high-performance, dependency-free library for animated filtering, sorting, insertion, removal and more

MixItUp 3 MixItUp is a high-performance, dependency-free library for animated DOM manipulation, giving you the power to filter, sort, add and remove D

Patrick Kunka 4.5k Dec 24, 2022
A Pauli Test simulation app made with Web Component and RxJS

There was a discussion quite a while ago in Teknologi Umum about brain throughput or something. Basically it was about how long does your brain can maintain its performance. It was brought up because there was a discussion about typing speed and how someone can get high Words per Minute at the start but starts to slow down the longer they go.

elianiva 5 Jun 8, 2022
This is my old discord bot source (NoTaBot)

Discord-Bot This is my old discord bot source (NoTaBot) Requires Node.js Discord.js 12 Puppeteer (library) How to use? Download the code Change the to

Galvins 3 Nov 14, 2021
NatsirtMC is a lightweight app allowing you to connect to any Minecraft server without having Minecraft open

NatsirtMC the only way to grind without grinding NatsirtMC is a lightweight app allowing you to connect to any Minecraft server without having Minecra

tristan 3 Dec 26, 2022
Math Magicians - A calculator and three subpages built with React + SASS

Math Magicians JavaScript application that contains a calculator and three sub-pages. Built with React + SASS. Built With JavaScript HTML5 SASS React.

Leonardo Albornoz 8 Mar 23, 2022