Como fazer a luz de fundo do teclado Os botões Fn funcionam no Samsung Series 9?

17

Acabei de instalar o Ubuntu 12.10 no meu Samsung 900X4C. No entanto, não consigo fazer as luzes de fundo do teclado funcionarem.

Adicionei os mapas de teclado de acordo com os documentos da comunidade - Samsung Series 9 (seção Teclas de função). Mas, independentemente de pressionar Fn + F9 ou F10 (diminuição / aumento da luz de fundo), recebo:

  1. Nenhuma luz no teclado
  2. O Toggler no canto superior direito sempre aparece no máximo (ou seja, "luz total")

Como você pode consertar a luz de fundo do teclado? O botão Fan (Fn + F11) também não funciona, se você também sabe sobre isso, seria ótimo.

    
por mmalmeida 27.12.2012 / 18:51

6 respostas

8

Eu comprei exatamente o mesmo modelo (900X4C) há alguns dias e vi as teclas F9 / F10 funcionarem, e nem precisei instalar o pacote Voria / samsung-tools - apenas mexido com o arquivo /lib/udev/keymaps/samsung-other e o arquivo force-release correspondente.

Infelizmente, eu estraguei o processo de instalação (eu não estava executando o Ubuntu no modo UEFI e tive swap) e decidi reinstalar, desde então eu não consegui replicar a luz de fundo do teclado.

Senti que isso era algo que pode ajudar outras pessoas a terem mais conhecimento para encontrar uma solução.

Aqui estão alguns recursos (talvez úteis) que encontrei:

Além disso, algumas experiências e resultados ...

Fazendo:

cat /sys/class/dmi/id/product_name

Retorna:

900X3C/900X3D/900X3E/900X4C/900X4D (matched by samsung-other)

Depois de uma nova instalação do Ubuntu 13.04 e atualizar isso é o que eu recebo:

  • F1 (Configurações) - não funciona
  • F2 (- Brilho da tela)
  • F3 (+ brilho da tela)
  • F4 (modo de alternância de vídeo)
  • F5 (Alternar Clickpad)
  • F6 (mudo)
  • F7 (- Volume)
  • F8 (+ volume)
  • F9 (- Backlight do teclado) - não funciona
  • F10 (+ Backlight do Teclado) - não funciona
  • F11 (Fan / Toggle Velocidade da CPU) - não funciona
  • F12 (Alternar WiFi) - não funciona

Eu também consegui obter os códigos de keymap corretos para este modelo exato fazendo /lib/udev/keymap -i input/event3 e reunindo a saída quando eu pressionei uma combinação de teclas FN + Fx :

0xCE    prog1           # F1
0x89    brightnessdown  # F2
0x88    brightnessup    # F3
0x82    switchvideomode # F4
0xF7    f22             # F5
0xF9    f23             # F5
0xA0    mute            # F6
0xAE    volumedown      # F7
0xB0    volumeup        # F8
0x97    kbdillumdown    # F9
0x96    kbdillumup      # F10
0xB3    prog3           # F11, "silent" isn't recognized
0xD5    wlan            # F12

Você pode usar showkey para obter a representação do código decimal para a combinação pressionada.

Lembre-se de chamar os seguintes comandos depois:

sudo udevadm control --reload-rules
sudo /lib/udev/keymap input/event3 /lib/udev/keymaps/samsung-other

Estou meio que desistindo disso agora, mas se alguém acertar, me avise!

PS: Enquanto experimentava, notei duas coisas interessantes:

  1. Se você comentar e recarregar todas as regras de mapa de teclado padrão, tudo ainda funciona (por quê?)
  2. Se você usar as regras do github que eu gostei, quando você pressionar F9 / F10 você não poderá mais digitar em nenhum lugar

O ponto # 2 me faz suspeitar que as chaves não estão sendo liberadas.

# Set model specific atkbd force_release quirk
#
# Several laptops have hotkeys which don't generate release events,
# which can cause problems with software key repeat.
# The atkbd driver has a quirk handler for generating synthetic
# release events, which can be configured via sysfs since 2.6.32.
# Simply add a file with a list of scancodes for your laptop model
# in /usr/lib/udev/keymaps, and add a rule here.
# If the hotkeys also need a keymap assignment you can copy the
# scancodes from the keymap file, otherwise you can run
# /usr/lib/udev/keymap -i /dev/input/eventX
# on a Linux vt to find out.

O texto acima foi tirado de /lib/udev/rules.d/95-keyboard-force-release.rules .

    
por Alix Axel 28.07.2013 / 13:29
3

É possível que haja opções / configurações de bios para luz e ventilador?

Basta pesquisar no Google o modelo do seu laptop e ver os resultados, incluindo páginas que mostram que o laptop precisará de um espaço escuro para a luz de fundo do teclado, pois há um sensor para alternar automaticamente a luz de fundo do teclado para os níveis de luz disponíveis. Esta pode ser a causa do indicador que mostra níveis de brilho sem luz de fundo aparentemente ativa. As configurações para estas estão disponíveis no Windows após a instalação das Configurações fáceis.

VocêpodefazerodownloaddasConfiguraçõesfáceisem site do fabricante depois de verificar se você tem as informações exatas modelo ou estão na página da direita para o seu modelo específico. Isto é, se você tiver um Windows para, pelo menos, confirmar que tudo funciona como esperado.

A Documentação da Comunidade confirma que os scancodes são pelo menos os mesmos para 9 séries e inclui seu modelo como sendo confirmado trabalhando após a configuração, ou seja, instalando o módulo do kernel e editando dois arquivos.
Aqui está uma citação do link

Tentelermetodicamenteoslinkspublicados.tenteasoutrasopções.ouseja, instruções alternativas através das quais existe o link post anterior que estão todos em ordem cronológica inversa, por isso vale a pena tentar ler links nesta ordem:

  1. post anterior
  2. instruções alternativas
  3. link

    Pode ser bom adicionar combustível ao fogo no launchpad

Assim, como o Windows foi pré-instalado com o UEFI, seguindo a etapa 1 acima,

UEFI and Grub2

Eu sabia que o meu laptop tinha uma opção para o suporte a firmware UEFI, então eu liguei isso, porque o UEFI é legal, certo? Então eu descobri que se alguém usa o subsistema UEFI, o fedora volta a usar o grub-0.9x em vez do grub2, houve alguns problemas de compatibilidade até onde eu sei, então eu fui para a opção legada do BIOS, porque eu realmente queria ter o grub2 inicializando meu sistema operacional.

e a resposta de @MrNice aqui quote

You need to not load the samsung_laptop kernel module. This module in efi mode does not work as it goes and write to parts of memory making the kernel throw a check exception and panic. Have the same issue with arch. But then you lose the keyboard backlight. Imho if you need that you will have to reinstall both windows and ubuntu in bios mode.

ou tente diferentes parâmetros do kernel para obter o carregamento do módulo samsung-laptop. Cite o link

Kernel Parameters
2 ~~~~~~~~~~~~~~~~~
3
4 The following is a consolidated list of the kernel parameters as implemented
5 (mostly) by the __setup() macro and sorted into English Dictionary order
6 (defined as ignoring all punctuation and sorting digits before letters in a
7 case insensitive manner), and with descriptions where known.
8
9 Module parameters for loadable modules are specified only as the
10 parameter name with optional '=' and value as appropriate, such as:
11
12 modprobe usbcore blinkenlights=1
13
14 Module parameters for modules that are built into the kernel image
15 are specified on the kernel command line with the module name plus
16 '.' plus parameter name, with '=' and value if appropriate, such as:
17
18 usbcore.blinkenlights=1

que não são relativos, mas acharam engraçado quando os encontraram!

Significa que é o tempo de decisão! UEFI ou luz de fundo do teclado?

Usar a opção UEFI permitirá a instalação de versões recentes do Ubuntu.

O módulo samsung-laptop só funciona com o kernel 12.04 3.2 quando instalado no modo legado ou versões anteriores com o kernel < = 3.2. (fonte: link ) Outro relatório de bug ( link ) diz

This bug was fixed in the package linux - 3.2.0-27.43

    
por geezanansa 13.04.2017 / 14:23
1

Para fazer com que as teclas de função de luz de fundo do teclado funcionem em um modelo NP900X4B da Série Samsung 9 com o Ubuntu 14.04 (Trusty Tahr), execute os seguintes comandos a partir de um prompt do shell:

sudo setkeycodes e017 229
sudo setkeycodes e016 230

Se esses comandos funcionarem para você, talvez você queira colocá-los em um script de inicialização. Eu tenho um arquivo set-kbdillum-keycodes.conf em / etc / init, com o seguinte conteúdo:

# set-kbdillum-keycodes - set keycodes for keyboard illumination up/down keys
#
# This task is a workaround for a key mapping bug 
# in the Samsung Series 9 notebook model NP900X4B

description "set keycodes for keyboard illumination up/down keys"

start on (startup 
          and started udev)

task
script
    /usr/bin/setkeycodes e017 229
    /usr/bin/setkeycodes e016 230
end script

O acima resolve o problema no NP900X4B. Se você tem outro modelo e esta solução não funciona no seu notebook, você pode querer saber como eu obtive a solução para o NP900X4B e talvez adaptá-lo para o seu modelo de notebook.

Antes de emitir os dois setkeycodes, se eu olhasse o log do kernel (dizendo "tail -f /var/log/kernel.log" em uma janela do shell) e pressionasse as teclas de função da luz de fundo do teclado, eu veria mensagens como como

Aug  5 20:24:59 ubuntu kernel: [  152.458145] atkbd serio0: Unknown key pressed (translated set 2, code 0x97 on isa0060/serio0).
Aug  5 20:24:59 ubuntu kernel: [  152.458158] atkbd serio0: Use 'setkeycodes e017 <keycode>' to make it known.
Aug  5 20:25:01 ubuntu kernel: [  154.248439] atkbd serio0: Unknown key pressed (translated set 2, code 0x96 on isa0060/serio0).
Aug  5 20:25:01 ubuntu kernel: [  154.248452] atkbd serio0: Use 'setkeycodes e016 <keycode>' to make it known.

O primeiro par de mensagens apareceu quando pressionei a tecla de luz de fundo do teclado. O segundo par de mensagens apareceu quando pressionei a tecla de luz de fundo do teclado. Foi assim que obtive a dica "use setkeycodes" e os valores de scancode e017 e e017. Esses valores de scancode precisam ser mapeados para valores de keycode. Eu tenho os códigos de teclas correspondentes em /usr/include/linux/input.h:

#define KEY_KBDILLUMDOWN        229
#define KEY_KBDILLUMUP          230

Se você tiver outro modelo de notebook, talvez seja necessário usar outros valores de scancode. Os valores de códigos de tecla correspondentes ainda devem ser os mesmos, pois são os valores conhecidos pelo kernel do Linux.

    
por Francisco Reverbel 07.08.2014 / 07:42
0

Primeiro, tente instalar o Voira . Você pode obter o ppa aqui . Instale o samsung-backlight de lá.

se isso não funcionar, tente isto:

Bem, como você sabe tudo começa com um pressionamento de tecla, então em uma tecla pressionada seu teclado envia um sinal e o kernel linux pega e este sinal é conhecido como um scancode . O kernel tem seu próprio scancode para a tabela de mapeamento keycode, então mapeia um certo scancode para um keycode .O kernel usa o scancode para o mapeamento keycode - ele é chamado de mapa de teclas .

Primeiro, você precisa criar uma tabela de keymaps para chaves Fn específicas. link oferece a maneira exata de como criar uma tabela de keymaps para chaves Fn específicas.

    
por Mukund 06.01.2013 / 11:27
0

Finalmente encontrei uma solução para este problema!

O truque era reinstalar o Ubuntu com o modo CMS em vez do modo UEFI. Você pode alterar essa configuração no BIOS. O meu foi definido para "Ambos UEFI e CMS". Mas eu mudei para "CMS" apenas e reinstalei o Ubuntu. Agora a luz de fundo do meu teclado e o indicador estão funcionando perfeitamente.

Viva!

    
por karlingen 22.09.2013 / 21:45
0

Solução alternativa parcial e moderadamente inconveniente: inicialize as janelas e coloque a luz de fundo, então reinicie no linux e elas permanecerão

    
por user238520 24.01.2014 / 10:37