Standard escape codes are prefixed with Escape:
- Ctrl-Key:
^[ - Octal:
\033 - Unicode:
\u001b - Hexadecimal:
\x1B - Decimal:
27
| MIT License | |
| Copyright (c) 2018 Noel Bundick | |
| Permission is hereby granted, free of charge, to any person obtaining a copy | |
| of this software and associated documentation files (the "Software"), to deal | |
| in the Software without restriction, including without limitation the rights | |
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| copies of the Software, and to permit persons to whom the Software is | |
| furnished to do so, subject to the following conditions: |
| # .git/hooks/post-merge | |
| changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)" | |
| composer_install_on_changed_lockfile() { | |
| echo "$changed_files" | grep --quiet "composer.lock" && | |
| echo "Changes to 'composer.lock' detected; running 'composer install'." && | |
| composer install | |
| } |
This gist will show how to setup Raspbian Stretch as a headless Bluetooth A2DP audio sink. This will allow your phone, laptop or other Bluetooth device to play audio wirelessly through a Rasperry Pi.
A quick search will turn up a plethora of tutorials on setting up A2DP on the Raspberry Pi. However, I felt this gist was necessary because this solution is:
| cmake_minimum_required(VERSION 3.7) | |
| project(esp_vt100_firmware) | |
| set(CMAKE_CXX_STANDARD GNU99) | |
| set(SOURCE_FILES | |
| include/uart_hw.h | |
| include/user_config.h | |
| user/io.c | |
| user/io.h |
| const { applyMiddleware, createStore } = Redux; | |
| const createSagaMiddleware = ReduxSaga.default; | |
| const { put, call } = ReduxSaga.effects; | |
| const { takeLatest } = ReduxSaga; | |
| const { connect, Provider } = ReactRedux; | |
| // GitHub API | |
| const gitHubApi = (username) => { | |
| return fetch(`https://api.github.com/users/${username}`) | |
| .then(response => { |
| @mixin font-smoothing($value: on) { | |
| @if $value == on { | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| @else { | |
| -webkit-font-smoothing: subpixel-antialiased; | |
| -moz-osx-font-smoothing: auto; | |
| } | |
| } |
| (function() { | |
| "use strict"; | |
| var toggles = document.querySelectorAll(".cmn-toggle-switch"); | |
| for (var i = toggles.length - 1; i >= 0; i--) { | |
| var toggle = toggles[i]; | |
| toggleHandler(toggle); | |
| }; |