I updated to the following packages, and since that time my arrow keys don't work in Firefox, and neither do the delete, home, end, and pgup/pgdown keys. I'm running a fully up-to-date ~x86 system. Those keys work fine elsewhere, e.g. Mousepad and Xfce-terminal. x11-misc/util-macros-1.2.0 x11-libs/cairo-1.8.4 x11-libs/libXi-1.2.0 x11-drivers/xf86-input-evdev-2.0.8 Reproducible: Always Portage 2.2_rc17 (default-linux/x86/2007.0/desktop, gcc-4.3.2, glibc-2.8_p20080602-r0, 2.6.27.8 i686) ================================================================= System uname: Linux-2.6.27.8-i686-AMD_Athlon-tm-_XP_2500+-with-glibc2.0 Timestamp of tree: Sat, 06 Dec 2008 23:14:01 +0000 app-shells/bash: 3.2_p48 dev-java/java-config: 1.3.7-r1, 2.1.6-r1 dev-lang/python: 2.5.2-r8 dev-util/cmake: 2.6.2 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.3.0-r1 sys-apps/sandbox: 1.2.18.1-r3 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.19 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://gentoo.mirrors.pair.com/ " LDFLAGS="-Wl,-O1" LINGUAS="en en_US" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X a52 aac acpi alsa aotuv archive asf audiofile berkdb bzip2 cairo capslib cddb cdparanoia cdr chardet charset cli console cracklib crypt css ctype cups curl custom-optimization dbus divx dri dvd dvdr dvdread emboss encode evo exif fam fbcon ffmpeg firefox flac fortran ftp gd gdbm gif gimp glib glut gmp gnome gpm gs gtk hal iconv id3 imagemagick imap imlib inkjar ipv6 isdnlog jingle joystick jpeg kdeenablefinal kdehiddenvisibility kerberos lame lcms ldap levels libnotify libsamplerate lua lzo mad maps matroska midi mikmod mjpeg mmap mmx mmxext mng modplug mp2 mp3 mp4 mpeg msn mudflap musepack music musicbrainz ncurses nls normalize nptl nptlonly ogg opengl openmp oss pam pcre pdf perl png ppds pppd python qt3 qt3support qt4 quicktime rar readline realmedia reflection replaygain scenarios sdl session sid smpeg sndfile sounds sox speex spell spl sqlite sqlite3 sse ssl startup-notification svg swscaler taglib tcpd tga theora tidy tiff truetype twolame unicode usb vcd vhook vorbis wavpack win32codecs wma wmp x264 x86 xcb xchattext xcomposite xine xml xorg xrandr xv xvid zlib" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" USERLAND="GNU" VIDEO_CARDS="radeon fbdev vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I'm guilty of not reading enotices close enough. Re-emerging xorg-server fixed this for me.