# This file contained descriptions of all editor operations and corresponded
# keys. Personal file can placed in directory $HOME/.yui, system-wide file -
# in directory /usr/local/lib/yui or in path, specified by environment
# variable YUI_PATH. "#" char means start of comment, empty lines will be
# ignored. Samples:
#
# <operation_id> <button1> [<button2> ... <button10>]
#
# This way <button> can be described as:
# 1. a		- simply button 'a'
# 2. A		- simply button 'A'
# 3. ^a		- CtrlA, case ignored
# 4. func1_a	- button 'a' after modifier 1
# 5. func2_a	- button 'a' after modifier 2
# 6. func3_a	- button 'a' after modifier 3
# 7. non-char buttons (case ignored):
#	esc, enter, return, tab, backspace, del, ins, home, end,
#	pgup, pgdn, up, down, left, right, space,
#	f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12
# 8. func?_<non-char-key>	- appropriate key after appropriate modifier
#
# When this file was modified, it can be re-read without leaving editor
# (menu Reload->Keymap), all changes will apply this way

# ------------
# modifiers
# ------------
func1		^J		# modifier 1
func2		^K		# modifier 2
# modifier func3 will done by func1_func2 combination
national	func1_^N	# national keymap switch

# ------------------------
# common control commands
# ------------------------
c_menu		esc		# call menu
c_help		f1		# call context help
c_help_prev	func1_f1	# previous help topic
c_help_index	func2_f1	# help index
c_quit		func1_^X	# quit with status save

c_quit_error	func2_^X	# quit without status save,
				# return 1!

c_refresh	func1_^R	# redraw screen

c_cancel	^C		# close window/menu; cannot close terminal window
				# when flag "first" is active,
				# button pressing processed inside terminal

c_win_close	func1_^C	# close window
c_win_choose	func1_* func1_0	# window list
c_win_select1 	func1_1		# select window 1
c_win_select2 	func1_2		# select window 2
c_win_select3 	func1_3		# select window 3
c_win_select4 	func1_4		# select window 4
c_win_select5 	func1_5		# select window 5
c_win_select6 	func1_6		# select window 6
c_win_select7 	func1_7		# select window 7
c_win_select8 	func1_8		# select window 8
c_win_select9 	func1_9		# select window 9

c_win_next	^E		# next window
				# when flag "first" is active,
				# button pressing processed inside terminal

c_win_prev	^W		# previous window
				# when flag "first" is active,
				# button pressing processed inside terminal

c_win_next2	func1_^E	# next window, another way
c_win_prev2	func1_^W	# pervious window, another way
c_win_size	func1_^D	# resize window
c_win_position	func1_^A	# reposition window
c_win_zoom	func1_^V	# zoom window "full size/current size"

c_open_file	F3		# open file
c_open_new	func1_F3	# open new window
c_open_term	func1_F7	# open terminal window
c_open_debug	func1_F8	# open debug window
c_open_web	func1_F9	# open WWW window
c_open_calc	func2_^P	# open calculator window
c_ctag_prompt	func2_f6	# open C-tag prompt

c_sys_command	^\ func1_.	# system command
c_sys_window	func1_\ func2_.	# system command in terminal window

c_user_menu	^_ func1_F10 func1_/	# user menu
c_man_page	func1_F5	# manpage viewer

# -----------------------------------
# editor commands
# -----------------------------------
e_home		home		# begin of line
e_end         	end		# end of line
e_pgup		pgup		# page up
e_pgdn		pgdn		# page down
e_up		up		# line up
e_down		down		# line down
e_left		left		# position left
e_right		right		# position right
e_scroll_up	^v		# scroll up without cursor moving
e_scroll_down	^f		# scroll down without cursor moving
e_word_left	^x		# word left
e_word_right	^b		# word right
e_first		func1_pgup	# begin of file
e_last		func1_pgdn	# end of file

e_block_row 	f7		# line block start/end
e_block_col 	f8		# columnar block start/end
e_block_reverse	func2_^n	# reverse previous commands
				# (for joe fanats)

e_block_unmark	^p		# unmark block
e_block_copy	f9		# copy block
e_block_move	f10		# move block
e_block_del	func1_^y	# delete block
e_clip_copy_to	func1_+		# copy block to clipboard
e_clip_copy_from func1_ins	# copy blovk from clipboard
e_clip_add	func2_+		# add block to clipboard
e_clip_move	func1_del	# move block to clipboard
e_clip_edit	func2_^e	# edit clipboard

e_save		f2		# save file
e_save_as	func1_f2	# save file as
e_goto		f4		# go to line
e_mark_line 	func1_f4	# mark line to next go to
e_man		f5		# call man with current word
e_ctag_go	func2_t		# go to C-tag
e_find		f6		# find
e_find_next	^l		# find next
e_find_replace	func1_f6	# replace
e_undo		^u		# undo
e_redo		^r		# redo
e_math_down	^g		# search to match down
e_math_up	^t		# search to match up
e_ins_mode	ins		# insert/override mode
e_del_char	del		# delete current char
e_del_line	^y		# delete current line
e_backspace	backspace	# delete left char
e_truncate	^d		# truncate line up to current cursor position
e_breakpoint	func1_^b	# insert/delete breakpoint
e_space_mode	func2_^v	# switch on/off special chars
e_input_code	func1_^l	# input char by their code
e_reload	func2_^l	# reload text
e_readonly_mode	func2_^r	# switch on/off "readonly" mode
e_man_mode	func2_^f	# switch on/off "man page" mode
e_format_smart	^o		# smart formatting
e_format_dumb	func2_^o	# dumb formatting

e_enter		enter		# enter
e_prevtab	^z		# go to previous tabulation position

# ------------------------
# terminal window commands
# ------------------------
t_cursor_mode	func1_tab func2_tab	# software/hardware cursor

t_key_mode	func1_^f func2_^f	# keys mode "first/non-first"

# block commands, works only in "software cursor" mode
t_block_row		f7		# line block marker
t_block_col		f8		# columnar block marker
t_block_unmark		^p		# unmark block
t_clip_copy_to		func1_+		# copy to clipboard
t_clip_copy_from	func1_ins	# copy from clipboard

# ----------------------------------------------------------------
# common commands for dialogs, input lines, calculator, www-window...
# ----------------------------------------------------------------
d_cursor_mode	func2_tab	# software/hardware cursor mode, in hardware
				# mode cursor moved only for ancored objects
                                # (i.e. entering objects), in software mode
                                # for all window

d_home		home		# in software mode - begin of line
				# in hardware mode - on first ancored object

d_end		end		# in software mode - end of line
				# in hardware mode - on last ancored object

d_first		func1_home	#
d_last		func1_end	#

d_top		func1_pgup	# first line, only in software mode
d_bottom	func1_pgdn	# last line, only in software mode

d_next		tab		# next ancored object
d_prev		func1_tab	# previous ancored object
d_next2		func1_down func1_right	# next ancored object, another way
d_prev2		func1_up   func1_left	# previous ancored object, another way
d_pgup		pgup		# page up
d_pgdn		pgdn		# page down
d_up		up		# line up
d_down		down		# line down
d_left		left		# position left
d_right		right		# position right
d_scroll_up	^v		# scroll up without cursor moving
d_scroll_down	^f		# scroll down without cursor moving
d_find		f6		# search
d_find_next	^l		# next search
d_block_row	f7		# line block begin/end
d_block_col	f8		# columnar block begin/end
d_block_unmark	^p		# unmark block
d_clip_copy_to	func1_+		# copy block to clipboard

# ---------------------------
# www-window commands
# ---------------------------
w_cursor_mode	func1_tab	# software/hardware cursor mode, in hardware
				# mode cursor moved only for ancored objects
				# (i.e. entering objects), in software mode
                                # for all window

w_history	h H		# url history
w_main_page	m M		# first url
w_search	s S		# search, when page support it
w_source	o O		# page source
w_prev		-		# previous page
w_info		/		# page information
w_download	d		# download
w_download2	D		# silent download
w_reload	r		# reload page
w_reload2	R		# silent reload page
w_go		g G		# new url
w_frame_next	^a		# next frame
w_frame_prev	^x		# previous frame

