Разобрался с проблемой. Небольшое описание решения.
Для начала в параметрах клавиатуры (System-Preferences->Keyboard Shortcuts) убираем горячую клавишу для действия Eject (если не убрать, у меня не определялся код клавиши)
Затем нужно запустить в консоли программу xev, навести на появившееся окно указатель мыши и нажать на нашу клавишу (самая крайняя правая верхняя). Должно появится содержимое вида:
KeyPress event, serial 33, synthetic NO, window 0x6a00001,
root 0x1ad, subw 0x0, time 341204079, (115,93), root:(118,143),
state 0x0, keycode 169 (keysym 0x1008ff2c, XF86Eject), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x6a00001,
root 0x1ad, subw 0x0, time 341204116, (115,93), root:(118,143),
state 0x0, keycode 169 (keysym 0x1008ff2c, XF86Eject), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
keycode 169 — код нашей клавиши.
Дальше все просто. в консоли выполняем следующую команду:
sudo xmodmap -e 'keycode 169 = Delete'
Если нужно поменять данную клавишу на другую, то с помощью xev можно узнать имя клавиши. Оно записывается после keysym. В нашем случае это XF86Eject, для клавиши Delete — это Delete и т.д.
Еще я себе переопределил клавиши F3 и F4. Системные клавиши F3 и F4 работают только с помощью Fn, потому их можно смело использовать. У меня теперь по F3 курсор помещается в строку адреса в браузере, а по F4 происходит refresh страницы (F5 работает только через Fn и это неудобно при разработке).
Еще остаются не задействованы клавиши F1-F2 и F5-F6, но Xorg их почему не видит, хотя в ядре они определяются. Но коды из ядра для Xorg не подходят. С ними разобраться у меня пока не получилось.