Code Monkey home page Code Monkey logo

bmos's Introduction

BMOS

BMO Operating System

License

Source code in this project is licensed under GNU General Public License v3.0

Graphical and audio assets (Images, Icons, Videos, Audio) are licensed under CC BY-NC-ND 4.0

Fonts are licensed under their respective licenses. See fonts folder for specific licenses.

Install

Make sure you have installed all of this first: https://github.com/BYOBMO/BMO-Utils

sudo apt update
sudo apt-get install cmake
sudo apt-get install libsdl2-image-dev
sudo apt-get install libsdl2-ttf-dev
sudo apt-get install libsdl2-mixer-dev
  sudo apt-get install libboost-all-dev

Build

mkdir build
cd build
cmake ..
make
make install

GPU

Set GPU memory to 256.

sudo raspi-config

Performance Options->GPU Memory

Manual Start

cd /home/pi/bmos
/home/pi/bmos/bmos

Auto Start

sudo cp /home/pi/bmos/scripts/10-bmos.sh /etc/profile.d
sudo chmod +r /etc/profile.d/10-bmos.sh

Modes

BMO has two modes, face and desktop. In face mode you can press keys on the keyboard and they will execute the key mappings in your bmo.txt file (see below).

When in face mode you can double-click the green button (ALT key on the keyboard) to switch to desktop mode. You can also press the red button to start recording for voice recognition. Voice recognition must be turned on in the settings first. Hold the button until you are done speaking and BMO will attempt to match your command to what is in the commands.conf file.

In desktop mode you can use the DPad and the green button for mouse navigation and selection. Or, if you have a mouse plugged into the USB port, you can mouse as you woudl on a desktop PC. Holding the blue (triangle) button for a few seconds toggles between snap mode which makes the DPad cycle through the UI elements for easier selection. An icon in the upper right corner of the desktop shows which mode you are in.

Key Mappings

Keys are mapped in the /home/pi/bmos/bmo.txt file.

Supported commands are face, mp4, system, random, and vg.

face

The face command changes BMO's static face.

<key>:face:<filename>

Example:

1:face:bmo01.jpg

Will map keyboard "1" to to show "bmo01.jpg".

mp4

The video command starts a video, usually a beemote.

<key>:mp4:<videofile>:<imagefile>

Example:

q:mp4:cn.mp4:bmo01.jpg

Will map keyboard "q" to play the mp4 file "cn.mp4" and then switch to "bmo01.jpg" when done.

system

The "system" command will launch a script. Be careful with this. Starting the wrong script can damage your system.

Example:

Z:system:/home/pi/bmos/scripts/waveleft.sh

Executes the script tha waves BMO's left arm.

random

The random command created a list of videos to be played randomly. They are played when you press up on BMO's DPad or if you turn on random videos in the settings.

Example:

random:hello.mp4
random:homies.mp4
random:ah.mp4

Adds hello.mp4, homies.mp4, and ah.mp4 to the random list.

vg

The "vg" command will launch EmulationStation. Example:

;:vg:videogames.mp4

This maps the semicolon ";" key to start EmulationStation. It will play videogames.mp4 before launching.

To get out of EmulationStation, you usually need to press F4. It depends on how you have your ket bindings set up for EmulationStation.

Exiting

Alt-F4 will terminate the application and return to the CLI.

bmos's People

Contributors

orbian avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.