Browse Source

By ZRY, 2022-11-25 12:08.

ZRY 1 year ago
parent
commit
d5fdcc70a0
2 changed files with 337 additions and 1 deletions
  1. 106 1
      README.md
  2. 231 0
      keymap-2.6.map

+ 106 - 1
README.md

@@ -1,2 +1,107 @@
-# openzaurus-keymap4sl-7500c
+# 适用于SL-7500C的OpenZaurus Keymap
 
+由于OpenZaurus只有适用于SL-C700的版本,在中国版SL-7500C上键盘映射是乱的,给使用带来了很大的不便。
+
+幸运的是,这个版本的内核,支持从`/etc/keymap-2.6.map`文件加载键盘映射,因此,只需要替换`/etc/keymap-2.6.map`为本仓库内的`keymap-2.6.map`文件即可修复键盘映射问题。
+
+值得注意的是,本人编写的这个keymap文件并不是完全按照SL-7500C键盘所印制的字样制作的,有少量的区别,但不难记忆。
+
+如果您有什么其他的需要,可以自行修改。本人暂不对提供的Keymap进行任何额外的技术支持。
+
+## 使用说明
+
+以OpenZaurus + OPIE为例。
+
+### 下载
+
+您可以通过git克隆整个仓库:
+
+```bash
+git clone http://git.swzry.com/PlayWithSharpZaurus/openzaurus-keymap4sl-7500c`
+```
+git的具体使用方法在这里不再赘述,请查阅相关文档。
+
+您也可以直接下载该文件,具体操作也不再赘述。
+
+### 拷贝到Zaurus
+
+您可以把文件拷贝到CF卡、SD卡中,或者也可以用其他方式。
+
+以下以Zaurus SL-7500C机器,OpenZaurus + OPIE环境,使用CF卡拷贝为例。
+
+1. 拷贝`keymap-2.6.map`到CF卡中。
+2. 在Application中找到Console应用程序,也就是终端。
+3. 备份原本的`keymap-2.6.map`文件,并拷贝CF卡中的新文件替换它。
+```bash
+cd /etc/
+mv ./keymap-2.6.map ./keymap-2.6.map.bak
+cp /mnt/cf/keymap-2.6.map ./
+```
+4. 在Settings中找到Shutdown应用程序,然后进行Reboot操作。
+5. 机器重启后,新的键盘映射便生效了。
+
+## 与键盘印字的区别
+
+### 修改的映射
+
+* 左下角,Fn键旁边的`;`分号键,作为Ctrl键使用;`'`单引号键,作为Alt键使用。
+* 输入分号`;`,使用Fn + `,`
+* 输入冒号`:`,使用Fn + `N`
+* 输入单引号`'`,使用Fn + `.`
+* 输入双引号`"`,使用Fn + `M`
+
+### 未实现的映射
+
+* 未实现Fn + `E`输入欧元符号的功能
+* 未实现Fn + `R`输入英镑符号的功能
+* 未实现Fn + `1` ~ `6`的多媒体按键功能
+* 未实现Fn + `BS` 的 `DEL`键功能
+* 未实现Fn + `X` / `C` / `V` 的剪切、复制、粘贴功能
+
+## 关于这些问题的解释
+
+### 修改的映射
+
+由于对于OpenZaurus + OPIE的使用环境下,我认为`Ctrl`键和`Alt`键是很有必要的。
+
+在原本SL-C700的键盘映射,工作在SL-7500C上,`;`就映射为了`Ctrl`,而`'`映射为了`Alt`。
+而且这两个按键的位置也符合大家对于PC键盘的习惯,于是我决定对此不作修改。
+
+为了能够输入`;` `:` `'` `"`这四个符号,我参考了PC键盘上的位置,利用Fn键,\
+分别映射到了Fn + `,` / `.` / `N` / `M` 上,由于较为符合PC键盘上的相对位置,因而也不难记忆。
+
+### 未实现的映射
+
+#### 英镑和欧元符号
+
+由于在原本的keymap中我未能找到欧元符号和英镑符号的code名称,
+且我也暂时没有精力去进一步研究,
+再加上对于中国人的日常使用而言这两个符号并不重要,
+因此我就没有去实现这两个键的映射。
+
+#### 多媒体键
+
+我尚不清楚多媒体键应该使用什么样的code来实现,因而暂未实现。
+
+#### DEL键
+
+事实上原版Keymap中已经定义了Fn + `BS`为`DEL`,但实际在文本编辑器内测试并不起作用。
+
+我保留了原版的这个映射未作修改,但事实上,它不起作用。
+
+也许在某些场合下会起作用吧,至少文本编辑器里不行。
+
+先这样。
+
+#### 剪切、复制、粘贴
+
+由于已经有了`Ctrl`键(即印有`;`的按键),重复地映射Fn +  `X` / `C` / `V` 没有必要,在支持的应用程序里,可以直接使用熟悉的`Ctrl + X` `Ctrl + C` `Ctrl + V`完成这些操作。
+
+## 测试环境
+
+本人在以下环境测试了该Keymap:
+
+* Zaurus SL-7500C,硬件版本V1.0.6 CN
+* Linux Kernel Version 2.6.16-3.5.4.1 Compiled by tota@openzarus-ja
+* OpenZaurus Version 3.5.4.1 With Model SL-C750, Vendor: OpenZaurus Team
+* Opie Version 1.2.1, Built against Qt/E 2.3.10, Built on Jul 8 2006

+ 231 - 0
keymap-2.6.map

@@ -0,0 +1,231 @@
+# Default kernel keymap. This uses 7 modifier combinations.
+keymaps 0-2,4-5,8,12
+# Change the above line into
+#	keymaps 0-2,4-6,8,12
+# in case you want the entries
+#	altgr   control keycode  83 = Boot            
+#	altgr   control keycode 111 = Boot            
+# below.
+#
+keycode   1 =        
+keycode   2 = one              exclam    
+	control alt     keycode  2 = Console_1
+keycode   3 = two              at			
+	control alt     keycode  3 = Console_2
+keycode   4 = three            numbersign      
+	control alt     keycode  4 = Console_3
+keycode   5 = four             dollar           
+	control alt     keycode  5 = Console_4
+keycode   6 = five             percent         
+	control alt     keycode  6 = Console_5
+keycode   7 = six              asciicircum
+	control alt     keycode  7 = Console_6
+keycode   8 = seven            ampersand
+	altgr keycode 8 = minus
+keycode   9 = eight            asterisk
+	altgr keycode 9 = underscore
+keycode  10 = nine             parenleft
+	altgr keycode 10 = plus
+keycode  11 = zero             parenright
+	altgr keycode 11 = equal
+keycode  12 = slash            question
+	altgr keycode 12 = at
+keycode  13 = 
+keycode  14 = BackSpace
+	altgr keycode 14 = Delete
+keycode  15 = Tab
+	altgr keycode 15 = Caps_Lock
+keycode  16 = q               
+	altgr keycode 16 = grave
+keycode  17 = w               
+	altgr keycode 17 = asciitilde
+keycode  18 = e
+	altgr keycode 18 = equal
+keycode  19 = r          
+	altgr keycode 19 = plus     
+keycode  20 = t               
+keycode  21 = y               
+keycode  22 = u          
+keycode  23 = i           
+	altgr keycode 23 = braceleft    
+keycode  24 = o
+	altgr keycode 24 = braceright
+keycode  25 = p
+	altgr keycode 25 = bar
+keycode  26 = 
+keycode  27 =
+keycode  28 = Return          
+keycode  29 = Control         
+keycode  30 = a
+keycode  31 = s               
+keycode  32 = d
+keycode  33 = f             
+keycode  34 = g               
+keycode  35 = h         
+keycode  36 = j        
+	altgr keycode 36 = bracketleft       
+keycode  37 = k   
+    altgr keycode 37 = bracketright
+keycode  38 = l         
+	altgr keycode 38 = backslash
+keycode  39 =  
+keycode  40 = 
+keycode  41 =     
+keycode  42 = Shift           
+keycode  43 =  
+keycode  44 = z               
+keycode  45 = x               
+keycode  46 = c
+keycode  47 = v               
+keycode  48 = b
+	altgr keycode 48 = underscore
+keycode  49 = n               
+	altgr keycode 49 = colon
+keycode  50 = m               
+	altgr keycode 50 = quotedbl
+keycode  51 = comma		less
+	altgr keycode 51 = semicolon
+keycode  52 = period           greater         
+	altgr     keycode  52 = apostrophe     
+keycode  53 =      
+keycode  54 = Shift           
+keycode  55 = 
+keycode  56 = Alt             
+keycode  57 = space            space           
+	control keycode  57 = nul   
+keycode 59 = F9
+keycode 60 = F10
+keycode 61 = AltGr
+keycode 62 = Escape
+keycode 63 = Return
+keycode 64 = Escape
+keycode 65 = Down
+keycode 66 = Up
+keycode 67 = Control
+keycode 68 = F13
+keycode 79 = F15
+keycode 80 = F16
+keycode 82 = F17
+keycode 87 = Return
+keycode 88 = F11	          
+keycode 97 = Control  
+keycode 99 = F12       
+keycode 103 = Up              
+	altgr     keycode 103 = PageUp
+keycode 105 = Left            
+	altgr     keycode 105 = Decr_Console
+keycode 106 = Right           
+	altgr     keycode 106 = Incr_Console
+keycode 108 = Down  
+	altgr     keycode 108 = PageDown
+	
+
+# LCD Softkeys as represented by zaurusd	
+keycode 82 = F5	
+keycode 79 = F15		# Home
+keycode 80 = F6
+keycode 81 = F16		# Email
+keycode 75 = F7
+keycode 76 = F17		# Addresses
+keycode 77 = F8
+keycode 71 = F18		# Calendar
+keycode 72 = F9
+keycode 73 = F19		# Book
+keycode 78 = F10
+
+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 Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'