Como remapear combinações de teclas Fn (Lenovo G500)

4

Estou executando o Kubuntu 13.10 em um laptop Lenovo G500.

Minha pergunta é semelhante a esta: Como posso remapear minhas chaves F no meu HP? laptop?

Ou seja, minhas chaves F1-F12 são mapeadas para certas funções especiais, e apenas manter pressionada a tecla Fn restaura o acesso às teclas F1-F12 padrão. Como faço o remapeamento de certas chaves ou dispositivos?

Eu gostaria de saber se existe uma maneira de remapear Fx para Fn + Fx e vice-versa. De acordo com as instruções do # 87043 eu verifiquei o meu BIOS e não há opção para mudar a funcionalidade da tecla Fx / Fn.

Pesquisando nos fóruns de suporte do Leonovo, há uma atualização do BIOS que permite que isso esteja em andamento, mas não há nenhuma indicação de quando ele será concluído.

Usando o xev, consegui ver o que o X vê quando o F1-F12 é pressionado. Alguns enviam códigos de tecla separados, mas alguns são mapeados para combinações de teclas ou outras coisas desconhecidas:

F1 - XF86AudioMute

F2 - XF86AudioVolumeLower

F3 - XF86AudioVolumeRaise

F4 - Alt_L + F4

F5 - F5

F6 - Desativa o touchapd, não consegue entender bem o que o xev me diz que está acontecendo, reativa se desabilitado (o log do Kernel revela que eles têm scancodes bem definidos não atribuídos a nenhum código de teclas)

F7 - XF86WLAN

F8 - Alt_L + Ctrl_L + Tab

F9 - Desliga a luz de fundo do LCD, xev não vê nada

F10 - Super_L + p

F11 - XF86MonBrightnessLower

F12 - XF86MonBrightnessRaise

Seguindo as instruções desta página: Como faço o remapeamento de certas chaves ou dispositivos?

Eu remapeei todas as chaves que possuem códigos de tecla definidos (F1, F2, F3, F5, F7, F11, F12) Isso ainda deixa as teclas F4, F6, F8, F9 e F10 não funcionando corretamente.

Isso é especialmente frustrante, já que F4, F6, F9 agora matam a janela atual, o touchpad e a tela, respectivamente.

Qualquer ajuda sobre o remapeamento dessas chaves para suas funções adequadas seria muito apreciada! -Anatoli

xev saída para estas 5 chaves:

F4

KeyPress event, serial 40, synthetic NO, window 0x4800001,
    root 0x9d, subw 0x0, time 3674037, (228,298), root:(911,321),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 40, synthetic NO, window 0x4800001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 40, synthetic NO, window 0x4800001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 40, synthetic NO, window 0x0,
    keys:  4294967197 0   0   0   0   0   0   0   65  0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 40, synthetic NO, window 0x4800001,
    root 0x9d, subw 0x0, time 3674040, (228,298), root:(911,321),
    state 0x8, keycode 70 (keysym 0xffc1, F4), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x4800001,
    root 0x9d, subw 0x0, time 3674042, (228,298), root:(911,321),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

ClientMessage event, serial 40, synthetic YES, window 0x4800001,
    message_type 0x12a (WM_PROTOCOLS), format 32, message 0x12b (WM_DELETE_WINDOW)

F6 desativando o touchpad

MappingNotify event, serial 40, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

FocusOut event, serial 40, synthetic NO, window 0x4600001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 40, synthetic NO, window 0x4600001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 40, synthetic NO, window 0x0,
    keys:  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

MappingNotify event, serial 41, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

Habilitação do touchpad F6

MappingNotify event, serial 42, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

FocusOut event, serial 42, synthetic NO, window 0x4600001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 42, synthetic NO, window 0x4600001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 42, synthetic NO, window 0x0,
    keys:  1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

MappingNotify event, serial 43, synthetic NO, window 0x0,
    request MappingPointer, first_keycode 0, count 0

F8 fazendo o que quer que seja F8

KeyPress event, serial 40, synthetic NO, window 0x4600001,
    root 0x9d, subw 0x0, time 3508985, (13,-12), root:(696,11),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x4600001,
    root 0x9d, subw 0x0, time 3508986, (13,-12), root:(696,11),
    state 0x8, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x4600001,
    root 0x9d, subw 0x0, time 3508988, (13,-12), root:(696,11),
    state 0xc, keycode 23 (keysym 0xff09, Tab), same_screen YES,
    XLookupString gives 1 bytes: (09) " "
    XmbLookupString gives 1 bytes: (09) "       "
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x4600001,
    root 0x9d, subw 0x0, time 3508989, (13,-12), root:(696,11),
    state 0xc, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x4600001,
    root 0x9d, subw 0x0, time 3508991, (13,-12), root:(696,11),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x4600001,
    root 0x9d, subw 0x0, time 3508994, (13,-12), root:(696,11),
    state 0x0, keycode 23 (keysym 0xff09, Tab), same_screen YES,
    XLookupString gives 1 bytes: (09) " "
    XFilterEvent returns: False

F9 não fornece saída para xev

F10 fazendo o que quer que seja F10 faz

KeyRelease event, serial 40, synthetic NO, window 0x4600001,
    root 0x9d, subw 0x0, time 3586076, (9,-14), root:(692,9),
    state 0x0, keycode 10 (keysym 0x31, 1), same_screen YES,
    XLookupString gives 1 bytes: (31) "1"
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x4600001,
    root 0x9d, subw 0x0, time 3586552, (9,-14), root:(692,9),
    state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x4600001,
    root 0x9d, subw 0x0, time 3586554, (9,-14), root:(692,9),
    state 0x40, keycode 33 (keysym 0x70, p), same_screen YES,
    XLookupString gives 1 bytes: (70) "p"
    XmbLookupString gives 1 bytes: (70) "p"
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x4600001,
    root 0x9d, subw 0x0, time 3586557, (9,-14), root:(692,9),
    state 0x40, keycode 33 (keysym 0x70, p), same_screen YES,
    XLookupString gives 1 bytes: (70) "p"
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x4600001,
    root 0x9d, subw 0x0, time 3586560, (9,-14), root:(692,9),
    state 0x40, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
    
por Anatoli 08.11.2013 / 19:16

0 respostas