http://www.kbdmania.net/board/zboard.php?id=tipntech&no=465http://groups.google.com/group/linux.debian.maint.x/browse_frm/thread/6e0417c440c8c51d/7d2dc90b468e0d6c?lnk=st&q=xmodmap+%22shift+backspace%22+backslash+bar&rnum=1&hl=ko#7d2dc90b468e0d6c링크 1에 보면 누가 저랑 비슷한 일을 하려다 실패해서 질문하고 답변한 것이 메일링 리스트에 있습니다.

저도 그것을 보고 참고하여 했더니 성공하였습니다.

제가 사용하는 조합은
1) ~(`) 와 Esc 를 서로 바꾸고
2) CapsLock 을 Ctrl 로 바꾸고 (CapsLock 은 아예 안쓰니 매핑 안함)
3) BackSpace 와 \(|) 를 서로 바꿉니다. (일자엔터는 \(|) 가 HHK의 BackSpace 에 해당하는 자리에 있음)


1), 2) 는 xmodmap 을 사용하면 별 문제가 없지만 3) 번은 약간 더 설정을 해 줘야 합니다.
X의 키보드 기본 설정이 약간 이상해서 BackSpace 키는 Shift 키와 같이 눌려도 처리를 해 주지 않기 때문입니다.
그러니까 다른 것들처럼 기본 설정 상태에서 그냥 맞교환만 해 놓으면 \ (backslash) 는 입력이 되지만 | (bar) 는 입력을 못합니다.

그래서 다음과 같은 설정을 해 준 후에 xmodmap 을 하시면 됩니다.

mkdir -p $HOME/.xkb/symbols
cat > $HOME/.xkb/symbols/my_fn_keys <<EOT
xkb_symbols "my_fn_keys" {
      name[Group1]= "CustFnKeys";
      key <BKSP> {
          type="ALPHABETIC",
          symbols[Group1] = [ backspace, BackSpace ]
      };
};
EOT
mkdir $HOME/.xkb/keymap
setxkbmap -print | sed -e '/xkb_symbols/s/"[[:space:]]/+my_fn_keys&/' > $HOME/.xkb/keymap/custom
xkbcomp -w0 -R$HOME/.xkb keymap/custom :0

위의 명령들은 모두 root 가 아닌 일반 유저로 가능합니다.

아래는 제가 사용하는 쉘 스크립트 입니다.
=================================================
# HHKemulOn.sh

xkbcomp -w0 -R$HOME/.xkb keymap/custom :0

xmodmap -e 'keycode 66 = Control_L'
xmodmap -e 'clear Lock'
xmodmap -e 'add Control = Control_L'

xmodmap -e 'keycode 9 = grave asciitilde'
xmodmap -e 'keycode 49 = Escape'

xmodmap -e 'keycode 22 = backslash bar'
xmodmap -e 'keycode 51 = BackSpace'
===================================================
# HHKemulOFF.sh

xmodmap -e 'keycode 49 = grave asciitilde'
xmodmap -e 'keycode 9 = Escape'

xmodmap -e 'keycode 51 = backslash bar'
xmodmap -e 'keycode 22 = BackSpace'
====================================================
키보다마다 키코드가 혹시 다를 수도 있는지 모르겠는데
xmodmap 으로 바꾸기 전에 먼저 xev 를 사용해서 키보드 입력을 확인해 보시고 하시는 것이 좋습니다.

여기 키매냐에 링크2 에도 예전에 관련 내용이 올라와 있는데 2) 번을 하는 것에 대한 내용입니다.