1
0

Edit editor/index.html

This commit is contained in:
tmk 2013-09-25 17:47:25 +09:00
parent 5e7dc72349
commit 094cb74fa9
3 changed files with 54 additions and 25 deletions

27
editor/index.html Normal file
View File

@ -0,0 +1,27 @@
<html>
<head>
<title>TMK Keymap Editor</title>
</head>
<body>
<h1>TMK Keymap Editor</h1>
<h2>Online Keymap Editor Demo</h2>
<ul>
<li><a href="hhkb/index.html">HHKB Keymap Editor</a>
<li><a href="m0110/m0110.html">M0110 Keymap Editor</a>
<li><a href="m0110/m0110a.html">M0110A Keymap Editor</a>
</ul>
<h2>Instrucion</h2>
<ul>
<li><a href="https://github.com/tmk/tmk_keyboard/blob/master/doc/keymap.md">Keymap Description</a>
<li><a href="https://github.com/tmk/tmk_keyboard/blob/master/doc/build.md#program-controller">Program Controller</a>
</ul>
<h2>Internal</h2>
<ul>
<li><a href="keymap_editor.md">Keymap Editor MEMO</a>
</ul>
</body>
</html>

View File

@ -1,13 +1,6 @@
Keymap Editor for TMK firmware
==============================
- [HHKB](hhkb/index.html)
Instruction
-----------
Limitation
----------
@ -16,13 +9,13 @@ TODO & MEMO
------------
### Edit action for FN key
### Better source output
KEYMAP macro
- KEYMAP macro
### Actionmap support
### Macro editor
### Layer operation
copy, swap, set all, clear...
- copy, swap, set all, clear...
### Compress share URL
lz-string.js
- lz-string.js(Done)
### Bootloader jump doesn't work
### Better Keyobard graphic
@ -33,9 +26,9 @@ lz-string.js
ldscript and Flash Memory
-------------------------
`ldscript_keymap_avr5.x` is ldscript and located at top directory. Using
[`ldscript_keymap_avr5.x`](https://github.com/tmk/tmk_keyboard/blob/master/ldscript_keymap_avr5.x) is custom ldscript to place keymap at fixed address(0x6800 in this case).
Flash Memroy Map of ATMega32U4(32KB)
Flash Memroy Map of ATMega32U4(32KB):
+--------------------+ 0x0000
| .vectors | 0xac (43vectors * 4bytes)
@ -59,8 +52,12 @@ Flash Memroy Map of ATMega32U4(32KB)
Keymap(8bit code)
-----------------
`const uint16_t fn_actions[] __attribute__ ((section (".keymap.fn_actions")))`
`const uint8_t keymaps[8][ROW][COL] __attribute__ ((section (".keymap.keymaps")))`
This is a format of keymap used in TMK Keymap Editor. This is comprised of two arrays. `fn_actions` is a 64 byte fixed size array of 32 action codes(16bit). `keymaps` is a three dimensional array of key code(8bit) and contains 8 layers of keymap whose size(ROW x COL) is vary on each keyboard matrices.
Signature of the arrays:
- `const uint16_t fn_actions[] __attribute__ ((section (".keymap.fn_actions")))`
- `const uint8_t keymaps[8][ROW][COL] __attribute__ ((section (".keymap.keymaps")))`
These arrays are placed at fixed address in .keymap section:
@ -82,9 +79,12 @@ These arrays are placed at fixed address in .keymap section:
Actionmap(16bit code)
---------------------
`const uint16_t actionmaps[] __attribute__ ((section (".keymap.actionmaps")))`
`actionmaps` is a three dimensional array of actionmap which is matrix(ROW x COL) of action codes(16bit), but this is not actually used in firmware yet at this time. All key action can be represented in 16bit code. Flash Memory usage will be about doubled size compared to keymap(8bit code).
Signature of the arrays:
- `const uint16_t actionmaps[LAYER][ROW][COL] __attribute__ ((section (".keymap.actionmaps")))`
All key action can be defined in 16bit code. Memory usage will be about doubled size compared to keymap(8bit code).
actionmaps[] -> +-------------+
| actionmap 0 |
@ -100,7 +100,7 @@ All key action can be defined in 16bit code. Memory usage will be about doubled
Flash usage cosidaration
------------------------
For example of biggest ever map, PS/2 and ADB converter have 256 keys in a layer, so use 256 bytes each layer in keymap and 512 bytes in actionmap.
As for example of biggest ever keymap, PS/2 and ADB converter have 256 keys in a layer, so use 256 bytes each layer in keymap and 512 bytes in actionmap.
In most cases map size of keyboard will be far smaller than that.
### ATmega32U4

View File

@ -10,20 +10,23 @@
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
-->
<title>TMK keyboard</title>
<title>TMK Keyboard Firmware</title>
</head>
<body>
<h1>TMK keyboard</h1>
<h1>TMK Keyboard Firmware</h1>
<h2>Synopsis</h2>
<p>Keyboard controller/converter firmware for Atmel AVR USB family</p>
<p><b>Keyboard controller/converter firmware for Atmel AVR USB family</b></p>
See <a href="https://github.com/tmk/tmk_keyboard#tmk-keyboard-firmware-collection">README</a> on repository for the detail.
<h2>Source</h2>
Dowload <a href="https://github.com/tmk/tmk_keyboard/zipball/master">the latest code(.zip)</a> or view its
<a href="https://github.com/tmk/tmk_keyboard">repository</a> on GitHub.
<ul>
<li>Git <a href="https://github.com/tmk/tmk_keyboard">repository</a> on GitHub
<li>Dowload <a href="https://github.com/tmk/tmk_keyboard/zipball/master">the latest code(.zip)</a>
</ul>
<h2>Build</h2>
@ -33,10 +36,9 @@ $ make
</code></pre>
<h2>Keymap Editor</h2>
<h2>Customize</h2>
<ul>
<li><a href="editor/">Editor</a></li>
<li><a href="editor/hhkb/index.html">Editor/hhkb</a></li>
<li><a href="editor/index.html">Keymap Editor</a></li>
</ul>
</body>