Programa de linha de comando para gerenciar a velocidade do trackpoint, sensibilidade, etc ... sem reiniciar a sessão

1

Estou no Ubuntu 14.04 e no Thinkpad T520. Esta solução funciona para definir valores após a reinicialização, mas eu gostaria de poder definir e obter os valores em tempo real .

Nota: Eu já fiz um script bash para fazer isso depois de algumas pesquisas infrutíferas, então estou criando esta questão em caso ajude alguém.

    
por Oleg 30.06.2014 / 08:47

1 resposta

2

Abaixo está um script bash que fiz para definir os valores na hora. Para usar, coloque o script em ~ / bin / trackpoint (bin do usuário) ou / usr / bin / trackpoint (bin global) e torne-o executável.

  • trackpoint <option> para obter o valor
  • trackpoint <option> <value> para definir o valor
  • trackpoint --values para uma lista de todos os valores de opções
  • trackpoint --help para uma lista de opções (apenas uma lista de arquivos em $ tp_root).

Testado no Ubuntu 14.04. Chama sudo para gravar valores no arquivo.

#!/bin/bash
# trackpoint
# Gets or sets a trackpoint configuration option
# Example - get sensitivity:
#    trackpoint sensitivity
# Example - set sensitivity to 160:
#    trackpoint sensitivity 160

# tp_root locator command from http://askubuntu.com/a/144185/151944
tp_root='find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/input\/input[0-9]*\/name$//''

option=$1
value=$2
me='basename $0'
fail() { echo "Error: $@" 1>&2; exit 1; }

[ -d ${tp_root} ] || fail "Invalid tp_root: ${tp_root}"

option_list='find ${tp_root} -maxdepth 1 -type f -printf '%f '';
[ ${option} ] || fail "please provide an option to set or get. Option must be one of: ${option_list}"
[[ ${option} == *--help*  ]] && { echo -e "Usage: ${me} option_name [value_to_set]\n\nGets or sets a trackpoint option.\n\nTo get a list of all values use:\n   ${me} --values\n\nAvailable options:\n   ${option_list}"; exit 0; }
[[ ${option} == *--values* ]] && { for f in 'find ${tp_root} -maxdepth 1 -type f -printf '%f ''; do { echo $f; echo "   $(cat ${tp_root}/${f})"; } done; exit 0; }

file="${tp_root}/${option}"
[ -f ${file} ] || fail "option must be one of: ${option_list}"


[ -z ${value} ] && { cat ${file}; exit 0; }

[ ${value} -gt 255 ] && fail "$option cannot be greater than 255"

echo -n ${value}| sudo tee ${file}

echo ""
    
por Oleg 30.06.2014 / 20:43