BMO Operating System
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.
```