Eu tenho um teclado Bluetooth Samsung bkb10 . É o teclado para andoind principalmente, por isso não tem alt, super (winkey), f1-f12, menu, mas tem muitas teclas de atalho (a maioria delas funciona bem no linux). Mas algumas teclas de atalho não estão funcionando, e eu quero fazer com que elas se comportem como alt, f1-f12, menu. Também quero funções hotkeys também, então eu gostaria de fazer smth como botão Fn para hotkeys. Bem, isso é tudo que eu quero. Pelo menos eu preciso de alt, super, menu e f1-f12, não poderia imaginar que é tão difícil sem eles no linux.
Então, eu estava tentando usar keytouch - sem sorte.
É capaz de ler keysym corretas, mas keytouch-editor salva apenas parte delas em seus arquivos de teclado, e parece que as chaves necessárias são as mesmas para keytouch também. De qualquer forma eu não vi que funciona para mim, mesmo com muitas teclas agindo da mesma maneira. No momento chaves que eu quero fazer como Alt, super, menu, não funcionam de jeito nenhum, possuem mesmo scancodes, mas possuem diferentes keysyms:
xev
mostra a mesma coisa para algumas teclas de atalho, que não funcionam:
KeyRelease event, serial 39, synthetic NO, window 0x5400001,
root 0xf5, subw 0x0, time 12647284, (224,225), root:(224,253),
state 0x0, keycode 248 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Mas kacpimon
pode reconhecer seus keyyms e são chaves diferentes:
Input Layer: Type: 4 Code: 4 Value: 787205
Input Layer: Type: 1 Code: 240 Value: 0
Input Layer: Sync
Input Layer: Type: 4 Code: 4 Value: 787207
Input Layer: Type: 1 Code: 240 Value: 1
Input Layer: Sync
O mesmo que getscancodes
:
787205 (0xc0305)
787205 (0xc0305)
787207 (0xc0307)
787207 (0xc0307)
sudo evtest /dev/input/evt14
output para as mesmas chaves:
Event: time 1457614378.384393, type 4 (EV_MSC), code 4 (MSC_SCAN), value c0305
Event: time 1457614378.384393, type 1 (EV_KEY), code 240 (KEY_UNKNOWN), value 1
Event: time 1457614378.384393, -------------- SYN_REPORT ------------
Event: time 1457614378.384420, type 4 (EV_MSC), code 4 (MSC_SCAN), value c0305
Event: time 1457614378.384420, type 1 (EV_KEY), code 240 (KEY_UNKNOWN), value 0
Event: time 1457614378.384420, -------------- SYN_REPORT ------------
Event: time 1457614378.681877, type 4 (EV_MSC), code 4 (MSC_SCAN), value c0307
Event: time 1457614378.681877, type 1 (EV_KEY), code 240 (KEY_UNKNOWN), value 1
Event: time 1457614378.681877, -------------- SYN_REPORT ------------
Event: time 1457614378.775600, type 4 (EV_MSC), code 4 (MSC_SCAN), value c0307
Event: time 1457614378.775600, type 1 (EV_KEY), code 240 (KEY_UNKNOWN), value 0
Event: time 1457614378.775600, -------------- SYN_REPORT ------------
Como você pode ver, os scancodes são iguais mesmo em kacpimon
, mas os keyyms são diferentes em kacpimon
, getscancode
, evtest
para cada chave, mas não para xev
e outras ferramentas.
Também acho que getscancodes na verdade está mostrando keysyms, mas não scancodes para eles.
Eu sei que o xmodmap é antigo e eu não deveria usar, e que deveria xkb. Eu era capaz de encontrar alguma resposta que poderia me ajudar, se eu não estava noob - Layouts de teclado personalizados: adicionando um caractere para o qual nenhum keysym é definido
Além disso, esse link pode ser útil, mas está desatualizado, por isso não posso verificar- Não use showkey ou xev - use udev e evtest em vez disso.
Mas eu não posso fazer isso com xkb ou xmodmap, eu não consigo entender como. Por favor me ajude, trabalhando nisso por 3 dias inteiros e ainda não encontrei nenhuma solução ... Muito obrigada!