Version 7 (modified by 7 years ago) (diff) | ,
---|
X Init
I'm using xdm to login.
apt-get install xdm
X Fonts
lack of unicode fonts suck.
apt-get install xfonts-100dpi xfonts-75dpi xfonts-base xfonts-encodings xfonts-intl-japanese xfonts-intl-japanese-big xfonts-scalable xfonts-terminus xfonts-utils
Xorg
Recompile x without config_vt, so that we work with the chrome-OS kernel.
diff --git a/xorg-server-1.18.4/hw/xfree86/common/xf86Globals.c b/xorg-server-1.18.4/hw/xfree86/common/xf86Globals.c index 93a35b8..6d5f77a 100644 --- a/xorg-server-1.18.4/hw/xfree86/common/xf86Globals.c +++ b/xorg-server-1.18.4/hw/xfree86/common/xf86Globals.c @@ -104,6 +104,9 @@ xf86InfoRec xf86Info = { .dontVTSwitch = FALSE, .autoVTSwitch = TRUE, .ShareVTs = FALSE, +#ifdef linux + .NoVTs = FALSE, +#endif .dontZap = FALSE, .dontZoom = FALSE, .notrapSignals = FALSE, diff --git a/xorg-server-1.18.4/hw/xfree86/common/xf86Init.c b/xorg-server-1.18.4/hw/xfree86/common/xf86Init.c index 9bade90..4ce6cfc 100644 --- a/xorg-server-1.18.4/hw/xfree86/common/xf86Init.c +++ b/xorg-server-1.18.4/hw/xfree86/common/xf86Init.c @@ -1457,6 +1457,12 @@ ddxProcessArgument(int argc, char **argv, int i) xf86Info.ShareVTs = TRUE; return 1; } +#ifdef linux + if (!strcmp(argv[i], "-novts")) { + xf86Info.NoVTs = TRUE; + return 1; + } +#endif if (!strcmp(argv[i], "-iglx") || !strcmp(argv[i], "+iglx")) { xf86Info.iglxFrom = X_CMDLINE; return 0; diff --git a/xorg-server-1.18.4/hw/xfree86/common/xf86Privstr.h b/xorg-server-1.18.4/hw/xfree86/common/xf86Privstr.h index c5d24ea..3269372 100644 --- a/xorg-server-1.18.4/hw/xfree86/common/xf86Privstr.h +++ b/xorg-server-1.18.4/hw/xfree86/common/xf86Privstr.h @@ -61,6 +61,9 @@ typedef struct { Bool dontVTSwitch; Bool autoVTSwitch; Bool ShareVTs; +#ifdef linux + Bool NoVTs; +#endif Bool dontZap; Bool dontZoom; Bool notrapSignals; /* don't exit cleanly - die at fault */ diff --git a/xorg-server-1.18.4/hw/xfree86/os-support/linux/lnx_init.c b/xorg-server-1.18.4/hw/xfree86/os-support/linux/lnx_init.c index ca17493..6a6c349 100644 --- a/xorg-server-1.18.4/hw/xfree86/os-support/linux/lnx_init.c +++ b/xorg-server-1.18.4/hw/xfree86/os-support/linux/lnx_init.c @@ -179,6 +179,7 @@ xf86OpenConsole(void) const char *vcs[] = { "/dev/vc/%d", "/dev/tty%d", NULL }; if (serverGeneration == 1) { + if (xf86Info.NoVTs != FALSE) { linux_parse_vt_settings(FALSE); if (!KeepTty) { @@ -289,6 +290,7 @@ xf86OpenConsole(void) cfsetospeed(&nTty, 9600); tcsetattr(xf86Info.consoleFd, TCSANOW, &nTty); } + } } else { /* serverGeneration != 1 */ if (!xf86Info.ShareVTs && xf86Info.autoVTSwitch) {
locales
apt-get install locales
set up en-utf8, jp-utf8, and C locales.
dpkg-reconfigure locales
Touchpad
Yes, I did a bad thing, and edited /usr/share/X11/xorg.conf.d/70-synaptics.conf .
This provides middleclick as three fingers, right click as 2 fingers, click as one finger, and the bottom of the pad is divided into click and right click when pressed. It also provides two finger scroll top to bottom, and two finger scroll left to right.
# Example xorg.conf.d snippet that assigns the touchpad driver # to all touchpads. See xorg.conf.d(5) for more information on # InputClass. # DO NOT EDIT THIS FILE, your distribution will likely overwrite # it when updating. Copy (and rename) this file into # /etc/X11/xorg.conf.d first. # Additional options may be added in the form of # Option "OptionName" "value" # Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" # This option is recommend on all Linux systems using evdev, but cannot be # enabled by default. See the following link for details: # http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html # MatchDevicePath "/dev/input/event*" EndSection Section "InputClass" Identifier "touchpad ignore duplicates" MatchIsTouchpad "on" MatchOS "Linux" MatchDevicePath "/dev/input/mouse*" Option "Ignore" "on" EndSection # This option enables the bottom right corner to be a right button on clickpads # and the right and middle top areas to be right / middle buttons on clickpads # with a top button area. # This option is only interpreted by clickpads. Section "InputClass" Identifier "Default clickpad buttons" MatchDriver "synaptics" # FIXME: describe these better. # these options are not adjustable via synclient Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" # Option "SoftButtonAreas" "0 50% 82% 0 0 0 0 0" # Option "SecondarySoftButtonAreas" "0 42% 0 0 15% 42% 58% 0 15%" Option "SecondarySoftButtonAreas" "0 42% 0 0 15% 42% 58% 0 15%" # the rest of this is adjustable via synclient. # Enable 1, 2, and 3 finger clicking as left, right, and middle click, respectively. Option "TapButton1" "1" Option "TapButton2" "3" Option "TapButton3" "2" # Calm the pad down while clicking. Option "VertHysteresis" "50" Option "HorizHysteresis" "50" # Drag Lock Option "LockedDrags" "1" # Tap to click thresholds. Option "FingerLow" "35" Option "FingerHigh" "40" # Prevent accidental clicks Option "PalmDetect" "1" Option "PalmMinWidth" "10" Option "PalmMinZ" "80" # scrolling. Option "VertTwoFingerScroll" "1" # Option "VertScrollDelta" "-90" Option "VertScrollDelta" "90" Option "HorizTwoFingerScroll" "1" Option "HorizScrollDelta" "-90" # Aceleration Option "MinSpeed" "1" Option "MaxSpeed" "1" Option "AccelerationProfile" "2" Option "ConstantDeceleration" "4" EndSection # This option disables software buttons on Apple touchpads. # This option is only interpreted by clickpads. Section "InputClass" Identifier "Disable clickpad buttons on Apple touchpads" MatchProduct "Apple|bcm5974" MatchDriver "synaptics" Option "SoftButtonAreas" "0 0 0 0 0 0 0 0" EndSection
~/.xinitrc
The .xinitrc for my user should switch us to dvorak, and pull in the keymap for this keyboard.
setxkbmap -variant dvorak if [ -s ~/.Xmodmap ]; then xmodmap ~/.Xmodmap fi
~/.Xmodmap
This makes the search button, and the control buttons control:
clear control clear mod4 keycode 133=Super_L add control = Control_L Control_R Super_L add mod4 = Super_R