keyconfig for german linux users with complete keyboard

For discussion of ports to POSIX based systems, especially using GNUStep.

Moderators: another_commander, winston, Getafix

Post Reply
User avatar
Slartibartfast
Deadly
Deadly
Posts: 175
Joined: Mon Jan 21, 2008 3:54 pm

keyconfig for german linux users with complete keyboard

Post by Slartibartfast »

Hi

maybe it can work also on M$

-complete (105) qwertz keyboard
- uses numblock & so on

keyconfig.plist

Code: Select all

{
/*--------------- flight controls -------------------------------*/
	key_roll_left				= 253;	// left arrow
	key_roll_right				= 252;	// right arrow
	key_pitch_forward			= 255;	// up arrow
	key_pitch_back				= 254;	// down arrow
	key_yaw_left				= ",";
	key_yaw_right				= ".";

	key_increase_speed			= "w";
	key_decrease_speed			= "s";
	key_inject_fuel				= "i";
	key_jumpdrive				= "j";

	key_view_forward			= "1";
	key_view_aft				= "2";
	key_view_port				= "3";
	key_view_starboard			= "4";

/*-------------- user interface  -----------------------------------*/
	key_gui_screen_status			= "5";
	key_gui_chart_screens			= "6";
	key_gui_system_data			= "7";
	key_gui_market				= "8";

	key_gui_arrow_left			= 253;
	key_gui_arrow_right			= 252;
	key_gui_arrow_up			= 255;
	key_gui_arrow_down			= 254;

/* // alternative settings to use numpad instead
	key_gui_arrow_left			= 314;	// numpad: 4
	key_gui_arrow_right			= 316;	// numpad: 6
	key_gui_arrow_up			= 318;	// numpad: 8
	key_gui_arrow_down			= 312;	// numpad: 2
*/

/*---------------- combat controls--------------------------------*/
	key_fire_lasers				= "a";
	key_weapons_online_toggle		= "_";
	key_launch_missile			= "m";
	key_next_missile			= "y";
	key_ecm					= "e";

	key_target_missile			= "t";
	key_untarget_missile			= "u";
	key_ident_system			= "r";

	key_next_target				= "+";
	key_previous_target			= "-";
	key_target_incoming_missile		= "T";
	key_dump_target_state			= "H";

	key_scanner_zoom			= "z";
	key_scanner_unzoom			= "Z";

	key_inc_field_of_view			= "l";
	key_dec_field_of_view			= "k";

	key_launch_escapepod			= 27;	// escape

	// now primable equipment; old key works for compatibility
	// key_energy_bomb			= "\t";		// tab

	// now primable equipment; old key works for compatibility
	// key_cloaking_device			= "0";

/*---------------primeable & mfd ------------------------------------*/
	key_prime_equipment			= "N";
	key_activate_equipment			= "n";
	key_mode_equipment			= "b";
	key_fastactivate_equipment_a 		= "q";
	key_fastactivate_equipment_b 		= "\t";	// tab

	key_cycle_mfd				= 311;	// numpad: 1
	key_switch_mfd				= 312;	// numpad: 2

/*--------------- docking & com  -----------------------------------*/
	key_autopilot				= "c";
	key_autodock				= "C";
	key_docking_clearance_request		= "L";
	key_docking_music			= "s";

	key_comms_log				= 310;	// numpad: 0
	
/*--------------- navigation & intergalactic ------------------------ */
	key_prev_compass_mode			= 307;	// page down
	key_next_compass_mode			= 308;	// page up

	key_advanced_nav_array			= 305;	// numpad: insert
	key_map_info				= 306;	// numpad: delete
	key_chart_highlight			= 304;	// numpad: end
	key_map_home				= 303;	// numpad: home

	key_galactic_hyperspace			= "g";
	key_hyperspace				= "h";

/*------------------------ cargo & market--------------------------*/
	key_dump_cargo				= "D";
	key_rotate_cargo			= "R";

	key_market_filter_cycle			= "*";
	key_market_sorter_cycle			= 319;	// numpad: 9

/*----------------------------  ???   -------------------------------*/
	key_custom_view				= "v";
	key_snapshot				= "V";

	key_pausebutton				= "p";
	key_show_fps				= "F";
	key_mouse_control			= "M";
	key_hud_toggle				= "o";

/*------------------- addon manager --------------------------------- */
	key_oxzmanager_setfilter		= "f";
	key_oxzmanager_showinfo			= "i";
	key_oxzmanager_extract			= "x";
}

better ideas/improvements ... welcome!!!

matthias
Oolite 1.91 / Imp. Trader ( slighly modified :wink: ) on Lubuntu 22.04 LTS on AMD64 2x 3800+ ,
ATI Radeon R7240 XFS / Samsung TV 40" 1080p
C-Media CMI8738 / Yamaha RX-V575 / DIY-Speaker
Logitech Attack3 & standard german keyboard
User avatar
Cholmondely
Archivist
Archivist
Posts: 4977
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: keyconfig for german linux users with complete keyboard

Post by Cholmondely »

Slartibartfast wrote: Sun Oct 03, 2021 11:15 pm
Hi

maybe it can work also on M$

-complete (105) qwertz keyboard
- uses numblock & so on

keyconfig.plist

Code: Select all

{
/*--------------- flight controls -------------------------------*/
	key_roll_left				= 253;	// left arrow
	key_roll_right				= 252;	// right arrow
	key_pitch_forward			= 255;	// up arrow
	key_pitch_back				= 254;	// down arrow
	key_yaw_left				= ",";
	key_yaw_right				= ".";

	key_increase_speed			= "w";
	key_decrease_speed			= "s";
	key_inject_fuel				= "i";
	key_jumpdrive				= "j";

	key_view_forward			= "1";
	key_view_aft				= "2";
	key_view_port				= "3";
	key_view_starboard			= "4";

/*-------------- user interface  -----------------------------------*/
	key_gui_screen_status			= "5";
	key_gui_chart_screens			= "6";
	key_gui_system_data			= "7";
	key_gui_market				= "8";

	key_gui_arrow_left			= 253;
	key_gui_arrow_right			= 252;
	key_gui_arrow_up			= 255;
	key_gui_arrow_down			= 254;

/* // alternative settings to use numpad instead
	key_gui_arrow_left			= 314;	// numpad: 4
	key_gui_arrow_right			= 316;	// numpad: 6
	key_gui_arrow_up			= 318;	// numpad: 8
	key_gui_arrow_down			= 312;	// numpad: 2
*/

/*---------------- combat controls--------------------------------*/
	key_fire_lasers				= "a";
	key_weapons_online_toggle		= "_";
	key_launch_missile			= "m";
	key_next_missile			= "y";
	key_ecm					= "e";

	key_target_missile			= "t";
	key_untarget_missile			= "u";
	key_ident_system			= "r";

	key_next_target				= "+";
	key_previous_target			= "-";
	key_target_incoming_missile		= "T";
	key_dump_target_state			= "H";

	key_scanner_zoom			= "z";
	key_scanner_unzoom			= "Z";

	key_inc_field_of_view			= "l";
	key_dec_field_of_view			= "k";

	key_launch_escapepod			= 27;	// escape

	// now primable equipment; old key works for compatibility
	// key_energy_bomb			= "\t";		// tab

	// now primable equipment; old key works for compatibility
	// key_cloaking_device			= "0";

/*---------------primeable & mfd ------------------------------------*/
	key_prime_equipment			= "N";
	key_activate_equipment			= "n";
	key_mode_equipment			= "b";
	key_fastactivate_equipment_a 		= "q";
	key_fastactivate_equipment_b 		= "\t";	// tab

	key_cycle_mfd				= 311;	// numpad: 1
	key_switch_mfd				= 312;	// numpad: 2

/*--------------- docking & com  -----------------------------------*/
	key_autopilot				= "c";
	key_autodock				= "C";
	key_docking_clearance_request		= "L";
	key_docking_music			= "s";

	key_comms_log				= 310;	// numpad: 0
	
/*--------------- navigation & intergalactic ------------------------ */
	key_prev_compass_mode			= 307;	// page down
	key_next_compass_mode			= 308;	// page up

	key_advanced_nav_array			= 305;	// numpad: insert
	key_map_info				= 306;	// numpad: delete
	key_chart_highlight			= 304;	// numpad: end
	key_map_home				= 303;	// numpad: home

	key_galactic_hyperspace			= "g";
	key_hyperspace				= "h";

/*------------------------ cargo & market--------------------------*/
	key_dump_cargo				= "D";
	key_rotate_cargo			= "R";

	key_market_filter_cycle			= "*";
	key_market_sorter_cycle			= 319;	// numpad: 9

/*----------------------------  ???   -------------------------------*/
	key_custom_view				= "v";
	key_snapshot				= "V";

	key_pausebutton				= "p";
	key_show_fps				= "F";
	key_mouse_control			= "M";
	key_hud_toggle				= "o";

/*------------------- addon manager --------------------------------- */
	key_oxzmanager_setfilter		= "f";
	key_oxzmanager_showinfo			= "i";
	key_oxzmanager_extract			= "x";
}

better ideas/improvements ... welcome!!!

matthias
Brilliant! Thank you for this. Will link it in to the various wiki pages.

Edited to add: Done!
http://wiki.alioth.net/index.php/Keyboard_Issues
http://wiki.alioth.net/index.php/Oolite ... d_Controls
http://wiki.alioth.net/index.php/Language
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
Slartibartfast
Deadly
Deadly
Posts: 175
Joined: Mon Jan 21, 2008 3:54 pm

Re: keyconfig for german linux users with complete keyboard

Post by Slartibartfast »

Hi

btw:
I have tried to use CapsLock ( nice on the left side of the keyboard )
( maybe for "Energy Bomb" )

so i mapped "CapsLock" to "Ω" ( "This is the end -- My only friend -- The end ....." // The Doors )
...but i can't get this work :(

matthias
Oolite 1.91 / Imp. Trader ( slighly modified :wink: ) on Lubuntu 22.04 LTS on AMD64 2x 3800+ ,
ATI Radeon R7240 XFS / Samsung TV 40" 1080p
C-Media CMI8738 / Yamaha RX-V575 / DIY-Speaker
Logitech Attack3 & standard german keyboard
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4619
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: keyconfig for german linux users with complete keyboard

Post by phkb »

Thanks for contributing! Can I get some extra info, though? I have a vested interest, as I'm working on a complete reworking of the keyconfig file, and I'm hoping to solve a few keyboard issues for non-US/UK keyboards along the way. A quick scan through your file reveals these as being the main changes (although I may have missing a couple):

Code: Select all

key_fastactivate_equipment_a 	= "q";
key_cycle_mfd			= 311;	// numpad: 1
key_switch_mfd			= 312;	// numpad: 2
key_comms_log			= 310;	// numpad: 0
key_prev_compass_mode		= 307;	// page down
key_next_compass_mode		= 308;	// page up
key_advanced_nav_array		= 305;	// numpad: insert
key_map_info			= 306;	// numpad: delete
key_chart_highlight		= 304;	// numpad: end
key_market_filter_cycle		= "*";
key_market_sorter_cycle		= 319;	// numpad: 9
Some of the changes I understand: The "^" key on a QWERTZ keyboard is difficult to use (it's a "dead" key in that it's waiting for the next keypress to define what character to output, and in Oolite that has no relevance).
But some of the other changes I'm not clear on the reasoning for, other than personal preference. For example: changing the MFD cycle and switch keys from ";" and ":" to numpad 1 and numpad 2. Also, I think I'm correct in saying the "|" and "\" keys can be entered by pressing Right Alt+"<" and Right Alt+"ß" (Right Alt should also be labelled "Alt Gr"). Do those combinations not work for you?

Anyway, if you could add a brief summary for the changes, that will help me enormously with other general keyboard config changes.

And re Capslock: this is a stateful key (ie it can be on or off) and is being used as such in the game (to switch the free-look camera controls on/off), so I think it will be tricky to repurpose this key for something else. Also, the Capslock key doesn't have a code number in the current core game (unlike the numpad keys), so it can't be referenced directly. (Although I'm expecting someone to come along and prove both these theories wrong!)
User avatar
Slartibartfast
Deadly
Deadly
Posts: 175
Joined: Mon Jan 21, 2008 3:54 pm

Re: keyconfig for german linux users with complete keyboard

Post by Slartibartfast »

Hi
But some of the other changes I'm not clear on the reasoning for, other than personal preference. For example: changing the MFD cycle and switch keys from ";" and ":" to numpad 1 and numpad 2.
conflict with yaw left/right
and --- logical -> most keys, that are not " just in time nessesary" i 've put to the extended keys numpadXX /insert/home/etc
--> normal keyboard - fighting / flying.
--> extended Keyboard (numpad, etc.)- navigation /and so on

2. Also, I think I'm correct in saying the "|" and "\" keys can be entered by pressing Right Alt+"<" and Right Alt+"ß" (Right Alt should also be labelled "Alt Gr"). Do those combinations not work for you?
i don't remember why...
but ...a single button is better than a combination ( on 105 keyboard i have enough alternatives - so why don't use them? )


-------------------------------------------------------------------------------------
---the small Linux script for CapsLock ( putted in auto-start )
#!/bin/bash

setxkbmap -option caps:none
xmodmap -e "keycode 66 = Greek_omega"
cheers
Matthias
Oolite 1.91 / Imp. Trader ( slighly modified :wink: ) on Lubuntu 22.04 LTS on AMD64 2x 3800+ ,
ATI Radeon R7240 XFS / Samsung TV 40" 1080p
C-Media CMI8738 / Yamaha RX-V575 / DIY-Speaker
Logitech Attack3 & standard german keyboard
User avatar
Slartibartfast
Deadly
Deadly
Posts: 175
Joined: Mon Jan 21, 2008 3:54 pm

Re: keyconfig for german linux users with complete keyboard

Post by Slartibartfast »

hi

Screenshot i've set to "V",
because i use " * " and "numpad 9" for market ------- * and 9 are neighbours


##--------
" | " and " \ "

==>> | is "Alt Gr"+ "<" -- but "Alt Gr" is on the lower right side and "<" on the lower left side
so you need both hands

===> " \ " is "Alt Gr" + "ß" -- but "ß" is on the upper right side, beneath 0 (zero)

so the keys used for \ and | are scattered over the whole keyboard

therefore i use page up/down for compass

##------------
" ; " and " : "
are "Shift" + "," and "Shift" + " . "

numpad 1/2 is more comfortable

matthias
Oolite 1.91 / Imp. Trader ( slighly modified :wink: ) on Lubuntu 22.04 LTS on AMD64 2x 3800+ ,
ATI Radeon R7240 XFS / Samsung TV 40" 1080p
C-Media CMI8738 / Yamaha RX-V575 / DIY-Speaker
Logitech Attack3 & standard german keyboard
Post Reply