From a71135c7cf3155b9bd35a947a0283d3998b9c03f Mon Sep 17 00:00:00 2001 From: DreymaR <7303297+DreymaR@users.noreply.github.com> Date: Mon, 6 Nov 2023 17:26:30 +0100 Subject: [PATCH] TMK/USB updates * Tried to get the BBoT platform pages up to date on the latest TMK repo updates --- docs/platforms/ergo-mods-tmk.html | 40 +++++++++--------- docs/platforms/index-tmk.html | 10 ++--- docs/platforms/layers-main-tmk.html | 63 ++++++++++++++-------------- docs/platforms/tarmak-intro-tmk.html | 39 ++++++++--------- docs/platforms/variants-tmk.html | 2 +- 5 files changed, 77 insertions(+), 77 deletions(-) diff --git a/docs/platforms/ergo-mods-tmk.html b/docs/platforms/ergo-mods-tmk.html index 7788e73..057012a 100644 --- a/docs/platforms/ergo-mods-tmk.html +++ b/docs/platforms/ergo-mods-tmk.html @@ -1,25 +1,24 @@

- I've implemented the ZXCVB_ 'Angle' shift for ISO keyboards both separately and as part of the AngleWide(ISO/Slash) mod that I use myself. For ANSI boards I've made an implementation of the 'Angle(Z)' shift (moving the Z key to the middle) and a Wide(ANSI/Quote) mod as well as the combination of these. Also the 'A-Wing' mod to get the Angle and right pinky benefits without messing with the Z position (but at other costs such as left pinky stretches; I'm not a fan myself). -

- Colemak-DH requires by default a special Angle(Wide) variant in which the V is kept in its original position so that only ZXC and B move; B then gets remapped to D by the mod itself. See below. + I've implemented the ZXCVB_ 'Angle' shift for ISO keyboards both separately and as part of the AngleWide-ISO mod that I use myself. For ANSI boards I've made an implementation of the 'Angle(Z)' shift (moving the Z key to the middle) and a Wide-ANSI mod as well as the combination of these. Also the 'A-Wing' mod to get the Angle and right pinky benefits without messing with the Z position (but at other costs such as left pinky stretches; I'm not a fan myself).

To use one of these, define the Unimap layout constant in my keymap (.c) file:


-* Edit '_########' in the UNIMAPLAYOUT definiton below to choose ergonomic Curl/Angle/Wide keyboard mods:
-* _UNMODDED - Standard Unimap format for all keyboard and converter types (w/o F13-24; this one is without ergo mods)
-* _ISO__A__ (w/ Curl-DH: _ISO_CA__) - ISO/Int Angle (the simple lower left half-row shift)
-* _ISO__AW_ (w/ Curl-DH: _ISO_CAW_) - ISO/Int Angle-Wide(/)
-* _ISO_CAWS                         - ISO/Int Curl-Angle-Wide(/)-Sym (more accessible apostrophe and hyphen/minus)
-* _ANS__A__ (w/ Curl-DH: _ANS_CA__) - ANSI/US Angle(Z)
-* _ANS__AW_ (w/ Curl-DH: _ANS_CAW_) - ANSI/US Angle(Z)-Wide(')
-* _ANSAWING (   Curl-DH:  N/A     ) - ANSI/US A-Wing
-*
-* Select a Curl(DH) or non-Curl ergo model, or plain unmodded Unimap. For Curl(DH), you also need to set CURLMOD.
-* NOTE: These map layouts affect all layouts. So for instance the CAWS map will affect both Colemak and Extend.
+    Edit '_########' in the UNIMAPLAYOUT definiton below to choose ergonomic Curl/Angle/Wide keyboard mods:
+    _NOMODS - Standard Unimap format for all keyboard and converter types (w/o F13-24; this one is without ergo mods)
+    _ISO_A_ - ISO/Int Angle (the simple lower left half-row shift)
+    _ISO_AW - ISO/Int Angle-Wide(/)
+    _ANS_A_ - ANSI/US Angle(Z)
+    _ANS_AW - ANSI/US Angle(Z)-Wide(')
+    _AWINGA - ANSI/US A-Wing Angle (rarely used)
+    
+    Select an ergo modded keymap, or the plain unmodded Unimap. Note that these maps affect all layouts and layers.
+    For Curl(DH), you also need to set CURLMOD. For Sym mods, set SYMBOLKEYS according to keymap.
+    To get, say, the Colemak-CAWS (CurlAngleWideSym) layout on ISO/ANSI, use the _###_AW keymap with
+        ACTIVELAYOUT 5, CURLMOD 1 and SYMBOLKEYS 2/3 settings below. And CAPSBEHAVIOR 1 for Extend, of course!
     

@@ -34,23 +33,22 @@


-* The CURLMOD options for Colemak and Tarmak layouts are:
-* 0: No Curl - vanilla Colemak/Tarmak
-* 1: The 2017 Curl(DHk) ergo mod, bringing the D and H keys down to comfortable bottom-row positions (QWERTY C/M)
-* 2: SteveP99's original Curl(DHm) ergo mod, bringing D/H down but M to the home row. DH standard since Oct 2020.
+    The CURLMOD options for Colemak and Tarmak layouts are:
+    0: No Curl - "vanilla" Colemak/Tarmak
+    1: SteveP99's original Curl(DHm) ergo mod, bringing D/H down but M to the home row. DH standard since Oct 2020.
 ...
-#define CURLMOD 1
+#define CURLMOD         1                       /* CURL_DH          */
     

- This switch only affects Colemak layouts, including the four Tarmak layouts and Mirrored Colemak. Make sure you use a CurlAngle or CurlAngleWide keymap type such as UNIMAP_AWIZXCBV with it (optional for Tarmak1). + This switch only affects Colemak layouts, including the four Tarmak layouts and Mirrored Colemak. It also effects a V-B swap for Extend, so the Ctrl+V shortcut is kept.

- The "Sym" symbol key mod hasn't been fully implemented in my TMK files. There's a model for CAWS-ISO that may serve as a template if you want another combo. But note that models affect Extend layers and other layouts too! So you may be better off just editing the layout definitions directly instead. + The Symbol key mods are selected with the SYMBOLKEYS setting. The Sym mod depends on your keymap, so select the right one depending on your Wide mod and board type.

diff --git a/docs/platforms/index-tmk.html b/docs/platforms/index-tmk.html index 04cf5cc..8adf526 100644 --- a/docs/platforms/index-tmk.html +++ b/docs/platforms/index-tmk.html @@ -1,18 +1,18 @@

Controllers Platform Info

- Much of the BigBag is implemented for controllers in the Big Bag for TMK repository on GitHub. + Much of the BigBag is implemented for controllers in the Big Bag for TMK/USB repository on GitHub.

In the following I will explain what a QUICKIE USB-2-USB device is, and what I've managed to implement on Hasu's USB to USB keyboard converter using his TMK Keyboard Firmware Collection toolkit.

- If you're eager to get started before reading the details, you may jump directly to the Big Bag for TMK README (or its predecessor, the Colemak Forum BigBag for TMK topic). Both of these contain sections describing Download and Install, Keymap Configuration and Device Flashing for the TMK Big Bag repository. + If you're eager to get started before reading further, you may jump directly to the Big Bag for TMK README. Among other info, it contains sections describing Download and Install, Keymap Configuration and Device Flashing.


USB2USB x3

GeekHack user yangdigi's comparison of USB-2-USB devices: Arduino Leonardo-type, Hasu's device and his own Pro Micro device. Scale: Hasu's device is about 6 cm (2") long.

- Look at those beauties, heh. I've decided to call this kind of device a QUICKIE (QWERTY USB In, Colemak Key Input Emulated)! ;-) More proper names are "USB-2-USB" or "USB to USB converter" device, as you may of course use it for non-Colemak layouts (and as my name is silly). + Look at those beauties, heh. I've decided to call this kind of device a QUICKIE (QWERTY USB In, Colemak Key Input Emulated)! More proper names are "USB-2-USB" or "USB to USB converter" device, as you may of course use it for non-Colemak layouts (and as my name is quite silly).

This non-OS-specific solution doesn't have the full power of layout installs, but it's very interesting. A USB-to-USB device that plugs between the keyboard and whatever you're connecting your keyboard to, provides an XKB/Win/Mac/what-have-you independent solution that can accommodate many of my tricks! For people having to deal with zealous IT security rules, this may be the only solution short of getting an expensive remappable keyboard. It could let you type Colemak+Extend to, say, a PlayStation or other device where you can't control the layout directly. It could let you pair code using Colemak+Extend while your mate uses QWERTY (poor thing!) on the same computer. And it could be fun to make one yourself if you're adventurous and DIY oriented!

@@ -43,13 +43,13 @@

  • The Extend layers and switch keys are options that should work with nearly any existing layout
  • - The Curl(DH) mod for Colemak layouts uses a separate switch (together with CurlAngle keymaps) + The Curl(DH) mod for Colemak layouts and SymbolKey modifications use separate modular switches
  • Mirrored Colemak and Tarmak (transitional Colemak) are separate layouts.

  • - Freedom of choice through modularity is an ideal in the DreymaR world, as it is in Linux. :-) + Freedom of choice through modularity is an ideal in the DreymaR world, as it is in Linux.

    diff --git a/docs/platforms/layers-main-tmk.html b/docs/platforms/layers-main-tmk.html index e5c461f..944c7b1 100644 --- a/docs/platforms/layers-main-tmk.html +++ b/docs/platforms/layers-main-tmk.html @@ -22,27 +22,27 @@

    TMK Extend1 diagram:

    
    -   DreymaR's Extend1 layer:
    -* ,----.    ,-------------------. ,-------------------. ,-------------------.
    -* |Caps|    |MPly|MPrv|MNxt|MStp| |Mute|VolD|VolU|MSel| |WHom|WSch|MyCm|Calc|
    -* `----'    `-------------------' `-------------------' `-------------------'
    -* ,-------------------------------------------------------------------------.
    -* | ?? | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10| F11| F12|  Pause |
    -* |-------------------------------------------------------------------------|
    -* |      |Esc |Wh_U|WBak|WFwd|Ms_U|PgUp|Home| Up |End |Del |Esc |Ins |  App |
    -* |-------------------------------------------------------------------------|
    -* |*Ext1* |Alt |Wh_D|Shft|Ctrl|Ms_D|PgDn|Left|Down|Rght|BSpc|App |WFav|PScr |
    -* |-------------------------------------------------------------------------|
    -* |     |Wh_L| ^Z | ^X | ^C | ^V |Btn1|Btn2|Btn3|Ms_L|Ms_R|Wh_R|            |
    -* |-------------------------------------------------------------------------|
    -* |      |     |Ext1 |           Return            |     |     |     |      |
    -* `-------------------------------------------------------------------------' 
    +    DreymaR's Extend1 layer:
    +    ,----˛    ,-------------------˛ ,-------------------˛ ,-------------------˛
    +    |Caps|    |MPly|MPrv|MNxt|MStp| |Mute|VolD|VolU|MSel| |WHom|WSch|MyCm|Calc|
    +    `----´    `-------------------´ `-------------------´ `-------------------´
    +    ,-------------------------------------------------------------------------˛
    +    | ?? | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10| F11| F12|  Pause |
    +    |-------------------------------------------------------------------------|
    +    |      |Esc |Wh_U|WBak|WFwd|Ms_U|PgUp|Home| Up |End |Del |Esc |Ins |  App |
    +    |-------------------------------------------------------------------------|
    +    |*Ext1* |Alt |Wh_D|Shft|Ctrl|Ms_D|PgDn|Left|Down|Rght|BSpc|App |WFav|PScr |
    +    |-------------------------------------------------------------------------|
    +    |     |Wh_L| ^Z | ^X | ^C | ^V |Btn1|Btn2|Btn3|Ms_L|Ms_R|Wh_R|       Ext2 |
    +    |-------------------------------------------------------------------------|
    +    |      |     |     |           Return            |     |     |     | Ext3 |
    +    `-------------------------------------------------------------------------´
                 

    - To use the Extend layers, define the CAPSBEHAVIOR constant to 1. This'll make CapsLock the Extend modifier. You may change it to another key by editing the active layout or keymap; see the Configuration post below. + To use the Extend layers, define the CAPSBEHAVIOR constant to 1. This'll make CapsLock the Extend modifier. You may change it to another key by editing the active layout or keymap; see the Big Bag for TMK README.

    NOTE: Superstacking Extend modifiers doesn't always work for me. Instead of Ctrl+Shift+Left, pressing Caps+S+T+N gave me ST key strokes. Oddly enough, it works with either Phys-Shift + Extend-Ctrl as well as Phys-RCtrl + Extend-Shift (Shift+Caps+T+N or RCtrl+Caps+S+N work) but not with physical LCtrl. This leads me to believe that the limitation is my keyboards' scan matrix, but it happened on all my boards. Other users didn't have this problem...?

    @@ -54,21 +54,21 @@

    TMK Extend2 diagram:

    
    -   DreymaR's Extend2 layer:
    -* ,----.    ,-------------------. ,-------------------. ,-------------------.
    -* |    |    |MPau|MRwd|MFFd|Ejct| |WRef|BriD|BriU|Slep| |www |Mail|App3|App4|
    -* `----'    `-------------------' `-------------------' `-------------------'
    -* ,-------------------------------------------------------------------------.
    -* | ?? | !  | @  | #  | $  | %  | ^  | P7 | P8 | P9 | P* | P- | =  |        |
    -* |-------------------------------------------------------------------------|
    -* |      |Home| Up |End |Del |Esc |PgUp| P4 | P5 | P6 | P+ | (  | )  |      |
    -* |-------------------------------------------------------------------------|
    -* |*Ext2* |Left|Down|Rght|BSpc|NLck|PgDn| P1 | P2 | P3 |PEnt| '  | ,  |     |
    -* |-------------------------------------------------------------------------|
    -* |     |    | ^Z | ^X | ^C | ^V |Btn1| :  | P0 | P0 | P. | P/ |            |
    -* |-------------------------------------------------------------------------|
    -* |      |     |     |                             |Ext2 |     |     |      |
    -* `-------------------------------------------------------------------------' 
    +    DreymaR's Extend2 layer:
    +    ,----˛    ,-------------------˛ ,-------------------˛ ,-------------------˛
    +    |    |    |MPau|MRwd|MFFd|Ejct| |WRef|BriD|BriU|Slep| |www |Mail|App3|App4|
    +    `----´    `-------------------´ `-------------------´ `-------------------´
    +    ,-------------------------------------------------------------------------˛
    +    | ?? | !  | @  | #  | $  | %  | ^  | P7 | P8 | P9 | P* | P- | =  |        |
    +    |-------------------------------------------------------------------------|
    +    |      |Home| Up |End |Del |Esc |PgUp| P4 | P5 | P6 | P+ | (  | )  |      |
    +    |-------------------------------------------------------------------------|
    +    |*Ext2* |Left|Down|Rght|BSpc|NLck|PgDn| P1 | P2 | P3 |PEnt| '  | ,  |     |
    +    |-------------------------------------------------------------------------|
    +    |     |    | ^Z | ^X | ^C | ^V |Btn1| :  | P0 | P0 | P. | P/ |       Ext2 |
    +    |-------------------------------------------------------------------------|
    +    |      |     |     |                             |     |     |     | Ext3 |
    +    `-------------------------------------------------------------------------´
                 
    @@ -78,4 +78,5 @@ For the NumPad layer, remember that the NumLock state influences what you get. There's a NumLock key easily accessible in the layer.

    + diff --git a/docs/platforms/tarmak-intro-tmk.html b/docs/platforms/tarmak-intro-tmk.html index 3dc1fab..4b1311f 100644 --- a/docs/platforms/tarmak-intro-tmk.html +++ b/docs/platforms/tarmak-intro-tmk.html @@ -3,27 +3,27 @@

    The Tarmak progressions work modularly with the AngleWide ergo mods.

    - If you want to learn the brilliant Colemak-DH variant using a Tarmak progression, that's possible too! You just have to learn a CurlAngle mod before or with the 2nd Tarmak step which also gets tweaked a little so it moves B instead of G. The right-hand swaps (Hmk) should ideally be learnt in conjunction with Tarmak1-Curl because that moves K, but for SteveP's old variant I've deferred the HM swap to the last step. It could go wherever you like as it's separate, so feel free to edit the layout file if you desire. + If you want to learn the brilliant Colemak-DH variant using a Tarmak progression, that's possible too! You just have to learn a CurlAngle mod before or with the 2nd Tarmak step which also gets tweaked a little so it moves B instead of G. The H-M right-hand swap is deferred to the last step. As it's a standalone key swap though, it could go anywhere you like really, so feel free to edit the layout file if you so desire. You may want to do this swap separately from other changes, in the Tarmak spirit.

    
    -    * Tarmak2 - Transitional Colemak (ET)
    -    * ,-----------------------------------------------------------.
    -    * |     |  q|  w|  F|  r|  G|  y|  u|  i|  o|  p|   |   |     |
    -    * |-----------------------------------------------------------|
    -    * |      |  a|  s|  d|  T| *J|  h|  N|  E|  l|  ;|   |        |
    -    * |-----------------------------------------------------------|
    -    * |        |  z|  x|  c|  v|  b|  K|  m|   |   |   |          |
    -    * `-----------------------------------------------------------'     
    +    *  Tarmak2 - Transitional Colemak (ET)
    +    *  ,-----------------------------------------------------------˛
    +    *  |     |  q|  w|  F|  r|  G|  y|  u|  i|  o|  p|   |   |     |
    +    *  |-----------------------------------------------------------|
    +    *  |      |  a|  s|  d|  T| *J|  h|  N|  E|  l|  ;|   |        |
    +    *  |-----------------------------------------------------------|
    +    *  |        |  z|  x|  c|  v|  b|  K|  m|   |   |   |          |
    +    *  `-----------------------------------------------------------´
         
    -    * Tarmak2-Curl(DHk) - Transitional Colemak-Curl-DHk (ET)
    -    * ,-----------------------------------------------------------.
    -    * |     |  q|  w|  F|  r|  B|  y|  u|  i|  o|  p|   |   |     |
    -    * |-----------------------------------------------------------|
    -    * |      |  a|  s|  d|  T|  g|  K|  N|  E|  l|  ;|   |        |
    -    * |-----------------------------------------------------------|
    -    * |    |  z|  x|  c| *J|  v|  _|  M|  H|   |   |   |          |
    -    * `-----------------------------------------------------------'
    +    *  Tarmak2-Curl(DH) - Transitional Colemak-Curl-DH (ET)
    +    *  ,-----------------------------------------------------------˛
    +    *  |     |  q|  w|  F|  r|  B|  y|  u|  i|  o|  p|   |   |     |
    +    *  |-----------------------------------------------------------|
    +    *  |      |  a|  s|  d|  T|  g|  h|  N|  E|  l|  ;|   |        |
    +    *  |-----------------------------------------------------------|
    +    *  |    |  z|  x|  c| *J|  v|  _|  K|  m|   |   |   |          |
    +    *  `-----------------------------------------------------------´
         
    @@ -35,9 +35,10 @@
  • These are little hardware devices that plug between your keyboard and computer or whatever you type to. They're fully OS independent.
  • - See the Big Bag of Tricks (USB-2-USB) topic, and links therein. + See the Big Bag of Tricks for TMK (USB-2-USB) repo, its + README, and links therein.
  • - GitHub user professor has an Arduino Keymapper repo that includes Tarmak. + GitHub user professor made an Arduino Keymapper repo that includes Tarmak and Colemak. I haven't checked in on it for years though, so I don't know whether it still works.
  • diff --git a/docs/platforms/variants-tmk.html b/docs/platforms/variants-tmk.html index d6daf68..b31bada 100644 --- a/docs/platforms/variants-tmk.html +++ b/docs/platforms/variants-tmk.html @@ -43,7 +43,7 @@

    - Then, you may choose whether the switch key should be a normal Shift-type (switch) or a Caps-type (toggle) modifier. See how I've defined the "FPau" Fn key in my file; it's used as my definition for the Pause key but you can copy that to any other key as well. The normal way would be to set FPau to Shift/switch-type with "ACTION_LAYER_MOMENTARY(1)" (the 'PAUSBEHAVIOR 2' setting), and then replace the desired key in your active (layer0) layout with FPau if you wish to move it. If you go with a toggle modifier, you need to make that key transparent (TRNS) on the mirrored layout, or provide a similar toggle somewhere else or you won't be able to get back! + Then, you may choose whether the switch key should be a normal Shift-type (switch) or a Caps-type (toggle) modifier. See how I've defined the "FSLk" Fn key in my file; it's used as my definition for the ScrollLock key but you can copy that to any other key as well. The normal way would be to set FSLk to Shift/switch-type with "ACTION_LAYER_MOMENTARY(1)" (the 'SLCKBEHAVIOR 2' setting), and then replace the desired key in your active (layer0) layout with FSLk if you wish to move it. If you go with a toggle modifier, you need to make that key transparent (TRNS) on the mirrored layout, or provide a similar toggle somewhere else or you won't be able to get back!

    Tip: Sticky Shift and Ctrl could be useful for one-handed typing! See the STICKYMODS setting.