То, что я рекомендую Вам, является Debian. Это стабильно и работает хорошо на большей части architechture.
У меня есть самостоятельно Debian на моем iBook G4 (жесткий диск на 30 ГБ, 256 МБ RAM), что могло использовать большую часть Вашей памяти, среда рабочего стола. Если Вы только просматриваете в Интернете, проверьте электронные письма, чат с некоторыми друзьями, Вы могли установить GNOME. Если Вам нужно больше памяти, я рекомендую Вам Fluxbox, это - легкая среда рабочего стола, но это не просто в использовании (не всегда удобный для пользователя).
Я попробовал Ubuntu, но это не так легко и стабильно как Debian... Но это более красиво :)
Это - Ваш личный выбор, это зависит от того, в чем Вы нуждаетесь.
Возможно, взгляните на libtermkey, терминальная ключевая входная библиотека, которая распознает специальные ключи (такие как клавиши со стрелками и функциональные клавиши), включая "измененные" ключи как Ctrl-Left
.
Другая опция могла бы состоять в том, чтобы улучшить функциональность очарования, минимальной копии ncurses.
В терминале всегда было действительно трудно иметь этот вид информации. Можно только получить "код клавиши" и, конечно, это означает разные вещи в зависимости от того, какую комбинацию ОС, клавиатуры и терминала Вы используете.
Вы найдете полный список тех кодом клавиши на Вашей ОС с вызовом к xmodmap.
$ xmodmap -pke
keycode 9 = Escape NoSymbol Escape
keycode 10 = ampersand 1 ampersand 1 dead_caron dead_ogonek dead_caron dead_ogonek
keycode 11 = eacute 2 eacute 2 asciitilde Eacute asciitilde Eacute
[...]
keycode 244 = XF86Battery NoSymbol XF86Battery
keycode 245 = XF86Bluetooth NoSymbol XF86Bluetooth
keycode 246 = XF86WLAN NoSymbol XF86WLAN
keycode 247 =
И список всех модификаторов оценивает с этим:
$ xmodmap
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Существует некоторая необработанная информация в terminfo базе данных или более полируется в ncurses API чтобы разработчикам системы справочной информации для преодоления этой путаницы.
Если можно снова использовать существующий исходный код как один нано, он должен сохранить Вас много времени. Смотрите на функцию "get_escape_seq_kbinput" для наблюдения то, что я имею в виду.
Если Вам просто нужна современная поддержка Linux, возможно, что вызов к keyname достаточно.