Last active
September 6, 2024 14:43
-
-
Save mrcomoraes/e9011c7449b0e56292fd0a4279b94704 to your computer and use it in GitHub Desktop.
Trocar as cores RGB e brilho do teclado mecânico de notebooks da Avell
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
### | |
# Programa: avell-rgb-keyboard | |
# Descrição: Trocar as cores RGB e brilho do teclado mecânico de notebooks da Avell | |
# Ambiente de testes: | |
# - Modelo do notebook: AVELL A52 HYB NEW | |
# - Distro: Pop!_OS 22.04 LTS | |
# - Versão do kernel: 6.9.3-76060903-generic | |
# Fonte para apoio: https://www.tuxedocomputers.com/en/Dev-Thoughts-Background-information-on-the-new-keyboard-lighting-control.tuxedo | |
### | |
### Validações | |
RGB_KB_PATH='/sys/class/leds/rgb:kbd_backlight/multi_intensity' | |
BRILHO_KB_PATH='/sys/class/leds/rgb:kbd_backlight/brightness' | |
if [ ! -e "$RGB_KB_PATH" ]; then | |
echo "ERRO: Arquivo de controle RGB \"$RGB_KB_PATH\" não foi encontrado!" | |
exit 1 | |
fi | |
if [ ! -e "$BRILHO_KB_PATH" ]; then | |
echo "ERRO: Arquivo de controle de brilho \"$BRILHO_KB_PATH\" não foi encontrado!" | |
exit 1 | |
fi | |
### | |
### Variáveis | |
AMARELO="255 128 0" | |
AZUL_ESCURO="0 0 255" | |
AZUL="0 128 255" | |
BRANCO="255 255 255" | |
CIANO="0 255 255" | |
LARANJA="255 64 0" | |
ROSA="255 0 128" | |
ROXO="255 0 255" | |
VERDE_CLARO="255 255 0" | |
VERDE="0 255 0" | |
VERMELHO="255 0 0" | |
### | |
### Funções | |
function main { | |
if [ -z "$1" ]; then | |
_get_help | |
exit 0 | |
fi | |
while [ -n "$1" ]; do | |
case $1 in | |
-i | --install) | |
echo "Instalando programa como um comando do sistema..." | |
sudo install "$(basename $0)" /usr/local/bin/avell-rgb-keyboard | |
echo "Programa instalado com sucesso!" | |
echo "Agora pode pode rodar o comando \"avell-rgb-keyboard\" direto do terminal." | |
exit 0 | |
;; | |
-c | --color) | |
shift | |
SWITCH_COLOR=y | |
case ${1,,} in | |
amarelo) SET_COLOR=$AMARELO ;; | |
azul-escuro) SET_COLOR=$AZUL_ESCURO ;; | |
azul) SET_COLOR=$AZUL ;; | |
branco) SET_COLOR=$BRANCO ;; | |
ciano) SET_COLOR=$CIANO ;; | |
laranja) SET_COLOR=$LARANJA ;; | |
rosa) SET_COLOR=$ROSA ;; | |
roxo) SET_COLOR=$ROXO ;; | |
verde-claro) SET_COLOR=$VERDE_CLARO ;; | |
verde) SET_COLOR=$VERDE ;; | |
vermelho) SET_COLOR=$VERMELHO ;; | |
*) { echo "ERRO: Cor selecionada não está definida!"; exit 1; } ;; | |
esac | |
;; | |
-b | --brightness) | |
shift | |
SWITCH_BRIGHTNESS=y | |
NIVEL_BRILHO=$1 | |
INTENSIDADE=$((NIVEL_BRILHO*32)) | |
if [ $INTENSIDADE -gt "255" ]; then | |
INTENSIDADE=255 | |
fi | |
;; | |
-h | --help | *) | |
_get_help | |
exit 0 | |
;; | |
esac | |
shift | |
done | |
if [ "$SWITCH_COLOR" = "y" ]; then | |
echo "$SET_COLOR" | sudo tee "$RGB_KB_PATH" > /dev/null | |
fi | |
if [ "$SWITCH_BRIGHTNESS" = "y" ]; then | |
echo "$INTENSIDADE" | sudo tee "$BRILHO_KB_PATH" > /dev/null | |
fi | |
} | |
function _get_help { | |
echo " | |
Programa que altera as cores e brilho do teclado mecânico RGB dos modelos da Avell. | |
Uso: $(basename $0) -c <cor> -b <brilho> | |
Onde: | |
-c, --color: Altera a cor do teclado | |
-b, --brightness: Altera o brilho (intensidade) do teclado | |
-i, --install: Instala o programa como um comando do sistema | |
Cores disponíveis de \"-c\": | |
- amarelo | |
- azul-escuro | |
- azul | |
- branco | |
- ciano | |
- laranja | |
- rosa | |
- roxo | |
- verde-claro | |
- verde | |
- vermelho | |
Valores disponíveis de \"-b\": De 1 até 8 | |
" | |
} | |
### | |
main "$@" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment