Netbook wanted / found ThinkPad T420s :-)

User avatar
7bit

10 Mar 2013, 10:23

Hello World!
:-)

User avatar
gmjhowe

10 Mar 2013, 20:08

No glamour photos? Modelling the new device on the sofa?

User avatar
7bit

10 Mar 2013, 21:50

Seems the graphics card makes trouble: white screen of death after logging out from a windowmanager (no matter which).
Does not depend on display manager either (gdm and xdm tested).

Sometimes it works and sometimes not. Same for switchig to text-console ....

Screen resolution is 1024x768. I love that format, it is perfect, I need no more, but it is a 1600x900 display in reality ...
:cry:

I think both these problems are related. Rumors say I need version 3 kernel. Version 2.6 does not support that shitty peace of Intel hardware ...

Ctrl-Alt-BackSpace does not work: I found out that this is considered a feature, not a bug.
:roll:

User avatar
RC-1140

10 Mar 2013, 22:08

To activate CTRL-ALT-Backspace again you need to set the XkbOption "terminate:ctrl-alt-bksp" in a keyboard section of a xorg.conf.

And why would one use a 2.6 kernel anyway? I still have one running on my server, but on all other systems I'm running Arch with a 3.7.10 kernel. And even a friend of mine who uses Debian (unstable) has a 3.4.35 kernel.

User avatar
Acanthophis

11 Mar 2013, 02:20

7bit is an ancient guy, he uses ancient things. We all know that!

User avatar
webwit
Wild Duck

11 Mar 2013, 02:40

He is like microsoft windows.

User avatar
7bit

11 Mar 2013, 09:04

But it is the latest Debian (stable) version!!!!
:o

User avatar
7bit

11 Mar 2013, 21:06

OK, updated to kernel 3.2 and rebooted.

No white screen of death so far and I need some pince-nez to be able to read that tiny text.
:roll:

Here is what I did:

Code: Select all

echo "deb http://backports.debian.org/debian-backports squeeze-backports main" >> /etc/apt/sources.list
apt-get update
Then I installed linux-headers-3.2.0-0.bpo.2-amd64 and some related stuff.

The only thing missing so far is the virtual scroll-wheel on the right side of the track pad.

User avatar
pheo

14 Mar 2013, 08:13

7bit wrote: Then I installed linux-headers-3.2.0-0.bpo.2-amd64 and some related stuff.

The only thing missing so far is the virtual scroll-wheel on the right side of the track pad.
I have lost or forgetting the wm you are using but in openbox you have to put:

Code: Select all

synclient VertEdgeScroll=1 &
synclient TapButton1=1 &
in the autostart.sh.
Probably in xorg.conf you can change that too with zaxismapping maybe, I am not pretty sure.

User avatar
7bit

14 Mar 2013, 09:04

I did not came so far. I'm using WindowMaker, but this must go more likely into xorg.conf or something related to X not to a single widow manager.

I plan to use the numpad as scroll wheel in 2 directions (not sure if this is possible) and use the pointing stick for pointer movements.

BTW: Fn delivers a key cose and except for being hardcoded to some function keys and the space bar, it could be used as a regular modifiers key.

Changes to the layout I did already are:
swap of Ctrl and Alt, Windows is Super and Menu is Delete.
Those page buttons left and right of the Up button are Begin and End.

User avatar
pheo

14 Mar 2013, 10:26

7bit wrote: Changes to the layout I did already are:
swap of Ctrl and Alt, Windows is Super and Menu is Delete.
Those page buttons left and right of the Up button are Begin and End.
Coool, that is interesting: How did you make menu a delete key?

User avatar
7bit

14 Mar 2013, 12:07

Layout configuration is here:
/usr/share/X11/xkb/symbols/pc

I make a copy of this
/usr/share/X11/xkb/symbols/pc_orig

and another
/usr/share/X11/xkb/symbols/pc_thinkpad
or
/usr/share/X11/xkb/symbols/pc_122
or ...

Then put a link to the keyboard you use:
ln -s pc_thinkpad ./pc

Then enter the key code which should be produced when the physical Menu button is hit:

Code: Select all

    key <MENU> {        [ Delete      ]       };
Maybe I should post a complete how 2 one day with working examples.

User avatar
pheo

14 Mar 2013, 12:29

pc stands for some locale? or it is a standard pc keyboard? I mean I have looked into es file and cant find menu key there.

User avatar
7bit

14 Mar 2013, 12:39

pheo wrote:pc stands for some locale? or it is a standard pc keyboard? I mean I have looked into es file and cant find menu key there.
No, pc is the basic keyboard file. It works with different locales (us, de, uk, ...)

Here is the complete un-altered file:

Code: Select all

// $XKeyboardConfig: xkeyboard-config/symbols/pc,v 1.9 2007-08-29 22:01:48 svu Exp $

//
// $XFree86: xc/programs/xkbcomp/symbols/pc,v 1.9 2003/06/09 19:59:46 dawes Exp $

default partial alphanumeric_keys modifier_keys 
xkb_symbols "pc105" {

    key <ESC>  {	[ Escape			]	};

    // the extra key on most European keyboards
    key <LSGT> {	[      less,    greater,          bar,    brokenbar ]	};

    // these keys are common to all layouts
    key <BKSL> {	[ backslash,	bar		]	};
    key <SPCE> {	[ 	 space			]	};

    include "pc(function)"
    include "pc(editing)"
    include "keypad(x11)"

    key <BKSP> {
        type="CTRL+ALT",
        symbols[Group1]= [ BackSpace,   Terminate_Server ]
    };

    key  <TAB> {	[ Tab,	ISO_Left_Tab	]	};
    key <RTRN> {	[ Return	]	};

    key <CAPS> {	[ Caps_Lock	]	};

    key <NMLK> {	[ Num_Lock, Pointer_EnableKeys		]	};

    key <LFSH> {	[ Shift_L	]	};
    key <LCTL> {	[ Control_L	]	};

    key <LWIN> {	[ Super_L			]	};

    key <RTSH> {	[ Shift_R	]	};
    key <RCTL> {	[ Control_R	]	};

    key <RWIN> {	[ Super_R			]	};

    key <MENU> {	[ Menu			]	};

    // begin modifier mappings
    modifier_map Shift  { Shift_L, Shift_R };
    modifier_map Lock   { Caps_Lock, ISO_Lock };
    modifier_map Control{ Control_L, Control_R };
    modifier_map Mod2   { Num_Lock };

    //  Fake keys for virtual<->real modifiers mapping 
    key <LVL3> {	[ ISO_Level3_Shift	]	};
    key <MDSW> {	[ Mode_switch 		]	};
    modifier_map Mod5   { <LVL3>, <MDSW> };

    key <ALT>  {	[ NoSymbol, Alt_L	]	};
    include "altwin(meta_alt)"

    key <META> {	[ NoSymbol, Meta_L	]	};
    modifier_map Mod1   { <META> };

    key <SUPR> {	[ NoSymbol, Super_L	]	};
    modifier_map Mod4   { <SUPR> };

    key <HYPR> {	[ NoSymbol, Hyper_L	]	};
    modifier_map Mod4   { <HYPR> };

    key <OUTP> { [ XF86Display ] };
    key <KITG> { [ XF86KbdLightOnOff ] };
    key <KIDN> { [ XF86KbdBrightnessDown ] };
    key <KIUP> { [ XF86KbdBrightnessUp ] };
};

partial hidden alphanumeric_keys
xkb_symbols "function" {
    key <FK01> {
        type="CTRL+ALT",
        symbols[Group1]= [ F1,	XF86_Switch_VT_1 ]
    };
    key <FK02> {
        type="CTRL+ALT",
        symbols[Group1]= [ F2,	XF86_Switch_VT_2 ]
    };
    key <FK03> {
        type="CTRL+ALT",
        symbols[Group1]= [ F3,	XF86_Switch_VT_3 ]
    };
    key <FK04> {
        type="CTRL+ALT",
        symbols[Group1]= [ F4,	XF86_Switch_VT_4 ]
    };
    key <FK05> {
        type="CTRL+ALT",
        symbols[Group1]= [ F5,	XF86_Switch_VT_5 ]
    };
    key <FK06> {
        type="CTRL+ALT",
        symbols[Group1]= [ F6,	XF86_Switch_VT_6 ]
    };
    key <FK07> {
        type="CTRL+ALT",
        symbols[Group1]= [ F7,	XF86_Switch_VT_7 ]
    };
    key <FK08> {
        type="CTRL+ALT",
        symbols[Group1]= [ F8,	XF86_Switch_VT_8 ]
    };
    key <FK09> {
        type="CTRL+ALT",
        symbols[Group1]= [ F9,	XF86_Switch_VT_9 ]
    };
    key <FK10> {
        type="CTRL+ALT",
        symbols[Group1]= [ F10,	XF86_Switch_VT_10 ]
    };
    key <FK11> {
        type="CTRL+ALT",
        symbols[Group1]= [ F11,	XF86_Switch_VT_11 ]
    };
    key <FK12> {
        type="CTRL+ALT",
        symbols[Group1]= [ F12,	XF86_Switch_VT_12 ]
    };
};

partial hidden alphanumeric_keys
xkb_symbols "editing" {
    key <PRSC> {
	type= "PC_ALT_LEVEL2",
	symbols[Group1]= [ Print, Sys_Req ]
    };
    key <SCLK> {  [  Scroll_Lock	]	};
    key <PAUS> {
	type= "PC_CONTROL_LEVEL2",
	symbols[Group1]= [ Pause, Break ]
    };
    key  <INS> {	[  Insert		]	};
    key <HOME> {	[  Home			]	};
    key <PGUP> {	[  Prior		]	};
    key <DELE> {	[  Delete		]	};
    key  <END> {	[  End			]	};
    key <PGDN> {	[  Next			]	};

    key   <UP> {	[  Up			]	};
    key <LEFT> {	[  Left			]	};
    key <DOWN> {	[  Down			]	};
    key <RGHT> {	[  Right		]	};
};
And here is what I use on my office computer for the IBM 3270 terminal emulator:

Code: Select all

// $XKeyboardConfig: xkeyboard-config/symbols/pc,v 1.9 2007-08-29 22:01:48 svu Exp $

//
// $XFree86: xc/programs/xkbcomp/symbols/pc,v 1.9 2003/06/09 19:59:46 dawes Exp $

// modified by 7bit 2009 / 2010 from original pc
// this map is intended for G80-2550 122-key Keyboards.
// run 'setxkbmap us' to activate

// to look up key keycodes see:
// /usr/share/X11/xkb/keycodes/xfree86

default partial alphanumeric_keys modifier_keys 
xkb_symbols "pc105" {

    key <I75>  {	[ Escape			]	};

    // these keys are common to all layouts
    key <BKSL> {	[ backslash,	bar		]	};
    key <SPCE> {	[ 	 space			]	};

    include "pc(function)"
    include "pc(editing)"
    include "keypad(x11)"

    key <BKSP> {
        type="CTRL+ALT",
        symbols[Group1]= [ BackSpace,   Terminate_Server ]
    };

    key  <TAB> {	[ Tab,	ISO_Left_Tab	]	};
    key <RTRN> {	[ Return	]	};

    key <FK12> {	[ Num_Lock, 	Pointer_EnableKeys	]	};

    key <K6A>  {	[ Linefeed			]	};
    key <I12>  {	[ Insert,	Insert		]	};

    key <TLDE> {        [ colon,	asciitilde		]       };

// keypad:
    key <ESC>  {	[ asciitilde, asciicircum	]	};
    key <SCLK> {  	[ KP_Divide,	KP_Divide	]	};
    key <KPDV> {  	[ KP_Subtract,	KP_Subtract	]	};
    key <KPSU> {  	[ ampersand,	ampersand	]	};


    key <KPEN> {  	[ KP_Enter,	KP_Enter	]	};


// 2x6 extra keys:
    key <I3C>  {  	[ parenleft,	parenleft	]	};
    key <PGUP> {  	[ parenright,	parenright	]	};
    key <PGDN> {  	[ Home,		numbersign	]	};
    key <END>  {  	[ braceleft,	braceleft	]	};
    key <INS>  {  	[ braceright,	braceright	]	};
    key <DELE> {  	[ End,		colon		]	};

// cursor keys:
    key <DOWN> {  	[ Delete			]	};

    // L1 to L10:

    // CUT, PASTE
    key <I06>  {	[ SunCut			]	};
    key <K76>  {	[ SunPaste			]	};

    // MARK, UNDO
    key <I07>  {  	[ SunF36			]	};
    key <PAUS> {  	[ SunUndo			]	};

    // SELECT, COMPOSE
    key <I0C>  {  	[ osfSelect,	osfSelectAll	]	};
    key <I78>  {  	[ Multi_key			]	};

    key <K65>  {  	[ Prior	]	};
    key <FK17> {  	[ Next  ]	};

     // Modifier keys:

    key <LFSH> {	[ Shift_L	]	};
    key <RTSH> {	[ Shift_R	]	}; 

    key <LALT> {	[ Control_L	]	};
    key <RALT> {	[ Control_R	]	}; // mapped to H-C in emacs

    key <PRSC>  {	[ Meta_L	]       }; 
    key <K64> 	{        [ Alt_L	]       };

    key <LCTL> {        [ Super_L	]       };
    key <RCTL> {        [ Super_R	]       }; // mapped to H-s in emacs

    key <CAPS> {	[ Hyper_L	]       };
    key <LSGT> {	[ Hyper_R	]       }; // mapped to A-s in emacs

    key <FK10> {	[ Alt_R		]	}; // mapped to H-A in emacs
    //key <RCTL> {	[ Alt_R		]	}; // mapped to H-A in emacs

    // begin modifier mappings
    modifier_map Shift  { Shift_L, Shift_R };
    modifier_map Lock   { Caps_Lock, ISO_Lock };
    modifier_map Control{ Control_L, Control_R };

    //  Fake keys for virtual<->real modifiers mapping 
    key <LVL3> {	[ ISO_Level3_Shift	]	};
    key <MDSW> {	[ Mode_switch 		]	};
    // modifier_map Mod5   { <LVL3>, <MDSW> };

    modifier_map Mod2   { Num_Lock };
    // no Scroll_Lock, Mod3 is needed for Hyper

    key <ALT>  {	[ NoSymbol, Alt_L	]	};
    modifier_map Mod1   { <ALT> };

    key <HYPR> {	[ NoSymbol, Hyper_L	]	};
    modifier_map Mod3   { <HYPR> };

    key <SUPR> {	[ NoSymbol, Super_L	]	};
    modifier_map Mod4   { <SUPR> };

    key <META> {	[ NoSymbol, Meta_L	]	};
    modifier_map Mod5   { <META> };

    key <OUTP> { [ XF86Display ] };
    key <KITG> { [ XF86KbdLightOnOff ] };
    key <KIDN> { [ XF86KbdBrightnessDown ] };
    key <KIUP> { [ XF86KbdBrightnessUp ] };
};

partial hidden alphanumeric_keys
xkb_symbols "function" {
    key <FK01> { // see '/usr/share/X11/xkb/types/pc' for info
        type="MY_FK",
        symbols[Group1]= [ F1,  F9,  XF86_Switch_VT_1,  XF86_Switch_VT_9]
    };
    key <FK02> {
        type="MY_FK",
        symbols[Group1]= [ F2,  F10, XF86_Switch_VT_2,  XF86_Switch_VT_10]
    };
    key <FK03> {
        type="MY_FK",
        symbols[Group1]= [ F3,  F11, XF86_Switch_VT_3,  XF86_Switch_VT_11]
    };
    key <FK04> {
        type="MY_FK",
        symbols[Group1]= [ F4,  F12, XF86_Switch_VT_4,  XF86_Switch_VT_12]
    };
    key <FK05> {
        type="MY_FK",
        symbols[Group1]= [ F5,  F13, XF86_Switch_VT_5,  XF86_Switch_VT_13]
    };
    key <FK06> {
        type="MY_FK",
        symbols[Group1]= [ F6,  F14, XF86_Switch_VT_6,  XF86_Switch_VT_14]
    };
    key <FK07> {
        type="MY_FK",
        symbols[Group1]= [ F7,  F15, XF86_Switch_VT_7,  XF86_Switch_VT_15]
    };
    key <FK08> {
        type="MY_FK",
        symbols[Group1]= [ F8,  F16, XF86_Switch_VT_8,  XF86_Switch_VT_16]
    };
};

partial hidden alphanumeric_keys
xkb_symbols "editing" {
    key <PRSC> {
	type= "PC_ALT_LEVEL2",
	symbols[Group1]= [ Print, Sys_Req ]
    };
//    key <PAUS> {
//	type= "PC_CONTROL_LEVEL2",
//	symbols[Group1]= [ Pause, Break ]
//    };

    key <UP> {
    	type= "PC_ALT_LEVEL2",
    	symbols[Group1]= [  Up, XF86_Switch_VT_1 ]
	};
    key <HOME> {
    	type= "PC_ALT_LEVEL2",
    	symbols[Group1]= [  Down, XF86_Switch_VT_2 ]
	};
    key <LEFT> {
    	type= "PC_ALT_LEVEL2",
    	symbols[Group1]= [  Left, XF86_Switch_VT_6 ]
	};
    key <RGHT> {
    	type= "PC_ALT_LEVEL2",
    	symbols[Group1]= [  Right, XF86_Switch_VT_1 ]
	};
};
Addition to /usr/share/X11/xkb/types/pc:

Code: Select all

    type "MY_LEVEL" {
        modifiers = Shift+Control+Alt;
        map[None]        = Level1;
        map[Shift]       = Level2;
        map[Control]     = Level3;
        map[Alt]         = Level4;
        map[Control+Alt] = Level5;
        level_name[Level1] = "Base";        // 1st
        level_name[Level2] = "Shift";       // 2nd
        level_name[Level3] = "Control";     // 3rd
        level_name[Level4] = "Alt";         // 4th
        level_name[Level5] = "Control Alt"; // 5th

    };

    type "MY_FK" {
        modifiers = Shift+Control+Alt;
        map[None]              = Level1;
        map[Shift]             = Level2;
        map[Control+Alt]       = Level3;
        map[Shift+Control+Alt] = Level4;
        level_name[Level1] = "Base";
        level_name[Level2] = "Shift";
        level_name[Level3] = "Control Alt";
        level_name[Level4] = "Shift Control Alt";

    };


User avatar
pheo

14 Mar 2013, 12:41

OK I got it. Now I have my closer del key running. Thank you very much. Now I would like a 1.25 del keycap :D

User avatar
7bit

14 Mar 2013, 12:44

You need to run

setxkbmap us
or whatever to make things taking effect. I would wonder if it worked out of the box.

ps: Delete exists only as 1.5 units key.

User avatar
pheo

14 Mar 2013, 12:50

pheo wrote:OK I got it. Now I have my closer del key running. Thank you very much. Now I would like a 1.25 del keycap :D
Edit: I have changed Caps_lock for Control left

Code: Select all

 key <CAPS> {        [ Control_L     ]       };
I have selected the it. And now caps lock doesnt turn on, obviusly, but doesnt make control function. xev detectes keypress as control_left:

Code: Select all

KeyRelease event, serial 46, synthetic NO, window 0x4400001,
    root 0x37a, subw 0x0, time 629729, (4,49), root:(1189,365),
    state 0x0, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
    XKeysymToKeycode returns keycode: 37
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
This is left control

Code: Select all

KeyRelease event, serial 46, synthetic NO, window 0x4400001,
    root 0x37a, subw 0x0, time 629729, (4,49), root:(1189,365),
    state 0x0, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
    XKeysymToKeycode returns keycode: 37
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
Do you know what can be happening?

User avatar
pheo

14 Mar 2013, 12:51

pheo wrote:
pheo wrote:OK I got it. Now I have my closer del key running. Thank you very much. Now I would like a 1.25 del keycap :D
Edit: I have changed Caps_lock for Control left

Code: Select all

 key <CAPS> {        [ Control_L     ]       };
I have selected with setxkbmap. And now caps lock doesnt turn on, obviusly, but doesnt make control function. xev detectes keypress as control_left:

Code: Select all

KeyRelease event, serial 46, synthetic NO, window 0x4400001,
    root 0x37a, subw 0x0, time 629729, (4,49), root:(1189,365),
    state 0x0, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
    XKeysymToKeycode returns keycode: 37
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
This is left control

Code: Select all

KeyRelease event, serial 46, synthetic NO, window 0x4400001,
    root 0x37a, subw 0x4400002, time 679104, (64,56), root:(1249,372),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
Do you know what can be happening?
Sorry I edit real contro left.

User avatar
7bit

14 Mar 2013, 13:01

I also changed us:
diff /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/us_orig
14c14
< // key <TLDE> { [ grave, asciitilde ] };
---
> key <TLDE> { [ grave, asciitilde ] };
50c50
< key <AC10> { [ semicolon, grave ] };
---
> key <AC10> { [ semicolon, colon ] };
65c65
< // key <CAPS> { [ Caps_Lock ] };
---
> key <CAPS> { [ Caps_Lock ] };

You can ignore most except for
key <CAPS> { [ Caps_Lock ] };

This must be out-commented. I don't know why it is there.

Such thing should go into pc not into the locale specific layout files.

Post Reply

Return to “Off-topic”