Atribuir uma chave a outra é único quando a chave é um modificador. Esta resposta tem uma boa explicação:
The action, when it is a modifier action such as this, changes the current modifier state, which (simply put) is a set of flags recorded in the operating system that record what modifiers are currently "on". [This record] influences what action further keypresses map to.
E quando você está tentando mapear sua chave, ela está sendo mapeada como uma chave normal e perdendo informações que especificam como ela se comporta quando várias teclas são pressionadas.
Para demonstrar, execute xmodmap
. Observe que há duas chaves padrão (Control_L e Control_R) mapeadas para o modificador de controle. Se você executar xmodmap -e 'keycode 131 = Control_L'
e, em seguida, xmodmap
, o modificador de controle ainda deve ter duas chaves, portanto, sua chave não está sendo reconhecida como um modificador.
Para mapear como um modificador:
Limpar a tecla modificadora control
xmodmap -e 'clear control'
Adicione o código de tecla para a tecla Hanja
xmodmap -e 'keycode 131 = Control_L'
Por fim, adicione novamente os modificadores padrão:
xmodmap -e 'add control = Control_L'
xmodmap -e 'add control = Control_R'
Agora, se você fosse rodar o xmodmap novamente, você notaria que uma nova chave foi adicionada para o controle do modificador, e deve funcionar corretamente agora.
Aqui é um link para as instruções oficiais do Arch Linux sobre a reatribuição de modificadores às teclas do seu teclado.
edit:
para alterações persistentes, adicione a /usr/share/X11/xkb/symbols/pl
:
key <HJCV> { [ Control_L ] };
modifier_map Control { Control_L, Control_R, <HJCV> };