# SPDX-License-Identifier: GPL-2.0
# Default keymap for 3270 (ebcdic codepage 037).
keymaps 0-1,4-5

keycode   0 = nul		Oslash
keycode   1 = nul		a
keycode   2 = nul		b
keycode   3 = nul		c
keycode   4 = nul		d
keycode   5 = nul		e
keycode   6 = nul		f
keycode   7 = nul		g
keycode   8 = nul		h
keycode   9 = nul		i
keycode  10 = nul		guillemotleft
keycode  11 = nul		guillemotright
keycode  12 = nul		eth
keycode  13 = nul		yacute
keycode  14 = nul		thorn
keycode  15 = nul		plusminus
keycode  16 = nul		degree
keycode  17 = nul		j
keycode  18 = nul		k
keycode  19 = nul		l
keycode  20 = nul		m
keycode  21 = nul		n
keycode  22 = nul		o
keycode  23 = nul		p
keycode  24 = nul		q
keycode  25 = nul		r
keycode  26 = nul		nul
keycode  27 = nul		nul
keycode  28 = nul		ae
keycode  29 = nul		cedilla
keycode  30 = nul		AE
keycode  31 = nul		currency
keycode  32 = nul		mu
keycode  33 = nul		tilde
keycode  34 = nul		s
keycode  35 = nul		t
keycode  36 = nul		u
keycode  37 = nul		v
keycode  38 = nul		w
keycode  39 = nul		x
keycode  40 = nul		y
keycode  41 = nul		z
keycode  42 = nul		exclamdown
keycode  43 = nul		questiondown
keycode  44 = nul		ETH
keycode  45 = nul		Yacute
keycode  46 = nul		THORN
keycode  47 = nul		registered
keycode  48 = nul		dead_circumflex
keycode  49 = nul		sterling
keycode  50 = nul		yen
keycode  51 = nul		periodcentered
keycode  52 = nul		copyright
keycode  53 = nul		section
keycode  54 = nul		paragraph
keycode  55 = nul		onequarter
keycode  56 = nul		onehalf
keycode  57 = nul		threequarters
keycode  58 = nul		bracketleft
keycode  59 = nul		bracketright
keycode  60 = nul		nul
keycode  61 = nul		diaeresis
keycode  62 = nul		acute
keycode  63 = nul		multiply
keycode  64 = space		braceleft
keycode  65 = nul		A
keycode  66 = acircumflex	B
keycode  67 = adiaeresis	C
keycode  68 = agrave		D
keycode  69 = aacute		E
keycode  70 = atilde		F
keycode  71 = aring		G
keycode  72 = ccedilla		H
keycode  73 = ntilde		I
keycode  74 = cent		nul
keycode  75 = period		ocircumflex
keycode  76 = less		odiaeresis
keycode  77 = parenleft		ograve
keycode  78 = plus		oacute
keycode  79 = bar		otilde
keycode  80 = ampersand		braceright
keycode  81 = eacute		J
keycode  82 = acircumflex	K
keycode  83 = ediaeresis	L
keycode  84 = egrave		M
keycode  85 = iacute		N
keycode  86 = icircumflex	O
keycode  87 = idiaeresis	P
keycode  88 = igrave		Q
keycode  89 = ssharp		R
keycode  90 = exclam		onesuperior
keycode  91 = dollar		ucircumflex
keycode  92 = asterisk		udiaeresis
keycode  93 = parenright	ugrave
keycode  94 = semicolon		uacute
keycode  95 = notsign		ydiaeresis
keycode  96 = minus		backslash
keycode  97 = slash		division
keycode  98 = Acircumflex	S
keycode  99 = Adiaeresis	T
keycode 100 = Agrave		U
keycode 101 = Aacute		V
keycode 102 = Atilde		W
keycode 103 = Aring		X
keycode 104 = Ccedilla		Y
keycode 105 = Ntilde		Z
keycode 106 = brokenbar		twosuperior
keycode 107 = comma		Ocircumflex
keycode 108 = percent		Odiaeresis
keycode 109 = underscore	Ograve
keycode 110 = greater		Oacute
keycode 111 = question		Otilde
keycode 112 = oslash		zero
keycode 113 = Eacute		one
keycode 114 = Ecircumflex	two
keycode 115 = Ediaeresis	three
keycode 116 = Egrave		four
keycode 117 = Iacute		five
keycode 118 = Icircumflex	six
keycode 119 = Idiaeresis	seven
keycode 120 = Igrave		eight
keycode 121 = grave		nine
keycode 122 = colon		threesuperior
keycode 123 = numbersign	Ucircumflex
keycode 124 = at		Udiaeresis
keycode 125 = apostrophe	Ugrave
keycode 126 = equal		Uacute
keycode 127 = quotedbl		nul

# AID keys
control keycode  74 = F22
control keycode  75 = F23
control keycode  76 = F24
control keycode 107 = Control_z		# PA3
control keycode 108 = Control_c		# PA1
control keycode 109 = KeyboardSignal	# Clear
control keycode 110 = Control_d		# PA2
control keycode 122 = F10
control keycode 123 = F11		# F11
control keycode 124 = Last_Console	# F12
control keycode 125 = Linefeed
shift control keycode  65 = F13
shift control keycode  66 = F14
shift control keycode  67 = F15
shift control keycode  68 = F16
shift control keycode  69 = F17
shift control keycode  70 = F18
shift control keycode  71 = F19
shift control keycode  72 = F20
shift control keycode  73 = F21
shift control keycode 113 = F1
shift control keycode 114 = F2
shift control keycode 115 = Incr_Console
shift control keycode 116 = F4
shift control keycode 117 = F5
shift control keycode 118 = F6
shift control keycode 119 = Scroll_Backward
shift control keycode 120 = Scroll_Forward
shift control keycode 121 = F9

string F1 = "\033[[A"
string F2 = "\033[[B"
string F3 = "\033[[C"
string F4 = "\033[[D"
string F5 = "\033[[E"
string F6 = "\033[17~"
string F7 = "\033[18~"
string F8 = "\033[19~"
string F9 = "\033[20~"
string F10 = "\033[21~"
string F11 = "\033[23~"
string F12 = "\033[24~"
string F13 = "\033[25~"
string F14 = "\033[26~"
string F15 = "\033[28~"
string F16 = "\033[29~"
string F17 = "\033[31~"
string F18 = "\033[32~"
string F19 = "\033[33~"
string F20 = "\033[34~"
# string F21 ??
# string F22 ??
# string F23 ??
# string F24 ??
compose '^' 'c' to Control_c
compose '^' 'd' to Control_d
compose '^' 'z' to Control_z
compose '^' '\012' to nul