Author Topic: Dox KB, Build your own!  (Read 203610 times)

0 Members and 1 Guest are viewing this topic.

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #250 on: Thu, 17 November 2011, 10:30:28 »
sure thing, it will be next week though, i ran out of diodes and switches

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #251 on: Thu, 17 November 2011, 10:32:43 »
Quote from: ishtob;454025
sure thing, it will be next week though, i ran out of diodes and switches
Great its cool. whats switches you getting and where are you buying from?

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #252 on: Thu, 17 November 2011, 10:35:59 »
Well this is a link to their full stock of Cherry MX keyswitches
http://www.onlinecomponents.com/KeywordSearch.aspx?Text=MX1A%20Cherry&Page=1
(Plate Mounted)
http://www.onlinecomponents.com/cherry-electrical_mx1ac1nn.html?p=11075427 - Clear switches
1-24 :   $0.92
25-99 :   $0.85
http://www.onlinecomponents.com/cherry-electrical_mx1ae1nn.html?p=11075429 - Blue switches
1-24 :   $0.92
25-99 :   $0.85
http://www.onlinecomponents.com/cherry-electrical_mx1a11nn.html?p=40653293 - Black switches
1-9 :   $0.94
10-24 :   $0.89
25-49 :   $0.84
50-99 :   $0.70
http://www.onlinecomponents.com/cherry-electrical_mx1a31nn.html?p=11075424 - Toggle switch
1-49 :   $11.32
If you want red switches you would need to order either black+blue switches in the amount you want. or try to find either the stem or spring elsewhere, sorry. Also they do not sell brown switches. If you want ergo clears it also means buying Clear+blue switches, or buying the springs elsewhere.
« Last Edit: Thu, 17 November 2011, 10:41:06 by bloodygood »
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #253 on: Thu, 17 November 2011, 10:38:08 »
Quote from: bloodygood;454034
Well this is a link to their full stock of Cherry MX keyswitches
http://www.onlinecomponents.com/KeywordSearch.aspx?Text=MX1A%20Cherry&Page=1
(Plate Mounted)
http://www.onlinecomponents.com/cherry-electrical_mx1ac1nn.html?p=11075427 - Clear switches
1-24 :   $0.92
25-99 :   $0.85
http://www.onlinecomponents.com/cherry-electrical_mx1ae1nn.html?p=11075429 - Blue switches
1-24 :   $0.92
25-99 :   $0.85
http://www.onlinecomponents.com/cherry-electrical_mx1a11nn.html?p=40653293 - Black switches
1-9 :   $0.94
10-24 :   $0.89
25-49 :   $0.84
50-99 :   $0.70
If you want red switches you would need to order either black+blue switches in the amount you want. or try to find either the stem or spring elsewhere, sorry. Also they do not sell brown switches.
I do like clears but I think i may prefer brown for prolonged typing and general usage. Clears definitely have their on typing style. Maybe I should go Ergo-Clear? Would that be Blue+Clear?
« Last Edit: Thu, 17 November 2011, 10:40:33 by TheProfosist »

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #254 on: Thu, 17 November 2011, 10:40:41 »
I bought cherry browns, and I got alot of clear stems that i'm going to be swapping it. if you look back on all the pics I've posted, they were all ergo clears :) i love them

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #255 on: Thu, 17 November 2011, 10:41:25 »
oh wait.. they are blues

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #256 on: Thu, 17 November 2011, 10:42:35 »
Quote from: TheProfosist;454037
I do like clears but I think i may prefer brown for prolonged typing and general usage. Clears definitely have their on typing style. Maybe I should go Ergo-Clear? Would that be Blue+Clear?
Updated my post for ideas for Ergo clears, but again the price isn't perfect. It would end up costing about 90$ to get double the amount of switches for our boards for Red or Ergo Clear. Just to order a set of blue, black, or clear by themselves though is about 50$ Slightly less for blacks of course because of the extra price break.
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #257 on: Thu, 17 November 2011, 10:43:28 »
Quote from: ishtob;454039
I bought cherry browns, and I got alot of clear stems that i'm going to be swapping it. if you look back on all the pics I've posted, they were all ergo clears :) i love them
Goin ergo clears then. I already like Clears but their definitely a bit heavy for prolonged typing even if you never bottom out. The feeling is also very different.

I recommended to ll WASD Keyboards 40A O-Rings wouldnt type on  a cherry mx board without them.

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #258 on: Thu, 17 November 2011, 10:43:35 »
i did $60 on blues + an old $20 POS cherry clear board off ebay

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #259 on: Thu, 17 November 2011, 10:46:30 »
My problem is that I like brown switches the most and I have absolutely no idea where to source those. I saw one Chinese website offering them for about 2$ per switch which adds up way too quickly.

http://www.jw-shop.com/product20/page45/detail.htm I just noticed this website but I can't understand if they are using Yen or Cny (huge difference)
700 yen for 10 switches would be absolutely awesome, the only problem is that I am not sure what shipping would be, and I could be translating the "10" wrong. Also for browns only they have both With and without mounting pins for PCB
« Last Edit: Thu, 17 November 2011, 10:50:33 by bloodygood »
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #260 on: Thu, 17 November 2011, 10:47:22 »
Quote from: ishtob;454044
i did $60 on blues + an old $20 POS cherry clear board off ebay
I think I would go all new and lube them up after a week or 2 of break in I can just imagine the the amazing feel.

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #261 on: Thu, 17 November 2011, 10:55:45 »
Quote from: bloodygood;454045
My problem is that I like brown switches the most and I have absolutely no idea where to source those. I saw one Chinese website offering them for about 2$ per switch which adds up way too quickly.

http://www.jw-shop.com/product20/page45/detail.htm I just noticed this website but I can't understand if they are using Yen or Cny (huge difference)
700 yen for 10 switches would be absolutely awesome, the only problem is that I am not sure what shipping would be, and I could be translating the "10" wrong. Also for browns only they have both With and without mounting pins for PCB
go ergo clears!

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #262 on: Thu, 17 November 2011, 16:55:29 »
Ishtob could I see the most recent code you used with "doxKB_poker_cased_long shift.pcb" I am trying to rearrange the Teensy to be on the opposite side but I need to know which row/column to line up with each pin on the Teensy. If you have the code I could look at then it would save a lot of time and frustration. Hopefully I will have the re-done design by tonight.

Good news everyone!
Quote from: wasdkeyboards;454323
Good news, I will be getting R1 1.75's. My supplier runs this keycap in the same mold that produces the ISO Enter Key. So, even though I can't use them, I can now supply them. I expect to have these sometime in December.
So maybe having the reduced size shift wouldn't be half bad after all.
« Last Edit: Thu, 17 November 2011, 20:22:42 by bloodygood »
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #263 on: Thu, 17 November 2011, 22:25:49 »
Quote from: bloodygood;454295
Ishtob could I see the most recent code you used with "doxKB_poker_cased_long shift.pcb" I am trying to rearrange the Teensy to be on the opposite side but I need to know which row/column to line up with each pin on the Teensy. If you have the code I could look at then it would save a lot of time and frustration. Hopefully I will have the re-done design by tonight.

Good news everyone!
So maybe having the reduced size shift wouldn't be half bad after all.
dang I would love exact legends that would be amazing but the back lighting... I should ask if he can get short left shift as well then there could be a FN key there on the DOX as well and the layout would be even better (and closer to my phantom layout). And if that is available I think that I am going to get rid of the full size backsapce and go to a HHKB style layout
 (even closer to the default layer of the Phantom).

And im going to apologize in advance to ishtob if I change my mind and decide to go with these changes, since hes the one that is actually doing the grunt work.

Also Soarer knows how to do full NKRO not just 6KRO. I did ask him in the Phantom thread if he would be willing to help with the DOX firmware.
« Last Edit: Thu, 17 November 2011, 22:32:14 by TheProfosist »

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #264 on: Fri, 18 November 2011, 01:43:25 »
for some reason I cant upload the firmware thorugh geekhack, I'll get it uploaded somewhere else i guess and link it.

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #265 on: Fri, 18 November 2011, 01:51:59 »
Quote from: ishtob;454556
for some reason I cant upload the firmware thorugh geekhack, I'll get it uploaded somewhere else i guess and link it.
I don't think geekhack allows uploading just any file. It might work to just put the code in some [ code ] brackets. [ / code ] instead of having to upload any files
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #266 on: Fri, 18 November 2011, 02:10:22 »
which file would you like to see? matrix or the keycodes?

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #267 on: Fri, 18 November 2011, 02:10:23 »
Quote from: ishtob;454556
for some reason I cant upload the firmware thorugh geekhack, I'll get it uploaded somewhere else i guess and link it.
Try bayimg and bayfiles, I have have used them without trouble.

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #268 on: Fri, 18 November 2011, 02:11:14 »
keymap.c:
Code: [Select]
/*
Copyright 2011 Jun Wako <wakojun@gmail.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

/*
 * Keymap for Macway mod
 */
#include <stdint.h>
#include <stdbool.h>
#include <avr/pgmspace.h>
#include &quot;usb_keycodes.h&quot;
#include &quot;print.h&quot;
#include &quot;debug.h&quot;
#include &quot;util.h&quot;
#include &quot;keymap.h&quot;


// Convert physical keyboard layout to matrix array.
// This is a macro to define keymap easily in keyboard layout form.
#define KEYMAP( \
R0C5, R1C4, R2C4, R3C4, R4C4, R5C4, R6C4, R7C4, R8C4, R9C4, R10C4, R11C2, R12C3, R13C4,\
R0C4, R1C3, R2C3, R3C3, R4C3, R5C3, R6C3, R7C3, R8C3, R9C3, R10C3, R11C1, R12C2, R13C3, \
R0C3, R1C2, R2C2, R3C2, R4C2, R5C2, R6C2, R7C2, R8C2, R9C2, R10C2, R11C0, R13C2, \
R0C2, R1C1, R2C1, R3C1, R4C1, R5C1, R6C1, R7C1, R8C1, R9C1, R10C1, R13C1, \
R0C1, R1C0, R2C0, R5C0, R9C0, R10C0, R12C0, R13C0 \
) { \
{ KB_NO, R0C1, R0C2, R0C3, R0C4, R0C5 }, \
{ R1C0, R1C1, R1C2, R1C3, R1C4, KB_NO }, \
{ R2C0, R2C1, R2C2, R2C3, R2C4, KB_NO }, \
{ KB_NO, R3C1, R3C2, R3C3, R3C4, KB_NO }, \
{ KB_NO, R4C1, R4C2, R4C3, R4C4, KB_NO }, \
{ R5C0, R5C1, R5C2, R5C3, R5C4, KB_NO }, \
{ KB_NO, R6C1, R6C2, R6C3, R6C4, KB_NO }, \
{ KB_NO, R7C1, R7C2, R7C3, R7C4, KB_NO }, \
{ KB_NO, R8C1, R8C2, R8C3, R8C4, KB_NO }, \
{ R9C0, R9C1, R9C2, R9C3, R9C4, KB_NO }, \
{ R10C0, R10C1, R10C2, R10C3, R10C4, KB_NO }, \
{ KB_NO, KB_NO, R11C0, R11C1, R11C2, KB_NO }, \
{ R12C0, KB_NO, KB_NO, R12C2, R12C3, KB_NO }, \
{ R13C0, R13C1, R13C2, R13C3, R13C4, KB_NO } \
}

#define KEYCODE(layer, row, col) (pgm_read_byte(&keymaps[(layer)][(row)][(col)]))


// Assign Fn key(0-7) to a layer to which switch with the Fn key pressed.
static const uint8_t PROGMEM fn_layer[] = {
    0,              // Fn0
    1,              // Fn1
    2,              // Fn2
    3,              // Fn3
    4,              // Fn4
    0,              // Fn5
    2,              // Fn6
    1               // Fn7
};

// Assign Fn key(0-7) to a keycode sent when release Fn key without use of the layer.
// See layer.c for details.
static const uint8_t PROGMEM fn_keycode[] = {
    KB_NO,          // Fn0
    KB_NO,          // Fn1
    KB_NO, // Fn2
    KB_SCLN,        // Fn3
    KB_NO, // Fn4
    KB_NO,          // Fn5
    KB_NO,          // Fn6
    KB_NO           // Fn7
};

static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    /* Layer 0: Default Layer
     * ,-----------------------------------------------------------.
     * |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp |
     * |-----------------------------------------------------------|
     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|     |
     * |-----------------------------------------------------'     |
     * |Caps  |  A|  S|  D|  F|  G|  H|  J|  K|  L|Fn3|  '|Return  |
     * |-----------------------------------------------------------|
     * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift     |
     * |-----------------------------------------------------------|
     * |Ctr|Fn1 |Alt  |Space                 |Alt  |Gui|App|   |Ctr|
     * `-----------------------------------------------------------'
     */
    KEYMAP( KB_ESC, KB_1, KB_2, KB_3, KB_4, KB_5, KB_6, KB_7, KB_8, KB_9, KB_0, KB_MINS, KB_EQL, KB_BSPC, \
KB_TAB, KB_Q, KB_W, KB_E, KB_R, KB_T, KB_Y, KB_U, KB_I, KB_O, KB_P, KB_LBRC, KB_RBRC, KB_BSLS, \
KB_CAPS, KB_A, KB_S, KB_D, KB_F, KB_G, KB_H, KB_J, KB_K, KB_L, KB_FN3, KB_QUOT, KB_ENT, \
KB_LSFT, KB_Z, KB_X, KB_C, KB_V, KB_B, KB_N, KB_M, KB_COMM, KB_DOT, KB_SLSH, KB_FN7, \
KB_LCTL, KB_FN1, KB_LALT, KB_SPC, KB_RALT, KB_RGUI, KB_APP, KB_RCTL),


    /* Layer 1: HHKB mode (HHKB Fn)
     * ,-----------------------------------------------------------.
     * |`  | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
     * |-----------------------------------------------------------|
     * |Fn3  |Mut|VoU|VoD|   |   |   |Psc|PgU|Slk|Up |   |   |Inc  |
     * |-----------------------------------------------------'     |
     * |      |PLY|PRV|NXT|   |   |   |ScL|PgD|Lef|Dow|Rig|Enter   |
     * |-----------------------------------------------------------|
     * |FN2     |Mb2|Mb3|Mb1|MB4|   |   |Brk|Hom|End|   |Shift     |
     * |-----------------------------------------------------------|
     * |   |Fn1 |     |                      |     |   |   |   |   |
     * `-----------------------------------------------------------'
     */
    KEYMAP(KB_GRV, KB_F1,  KB_F2,  KB_F3,  KB_F4,  KB_F5,  KB_F6,  KB_F7,  KB_F8,  KB_F9,  KB_F10, KB_F11, KB_F12, KB_DEL, \
           KB_NO, KB_NO,  KB_UP,  KB_NO,  KB_NO,  KB_NO,  KB_PSCR,  KB_PGUP,  KB_NO,KB_NO,KB_UP, KB_NO,  KB_NO, KB_INS, \
           KB_NO, KB_MPLY,KB_MPRV,KB_MNXT,KB_BTN5,  KB_NO,  KB_SLCK,KB_NO,PGDN_LEFT,KB_DOWN,KB_RGHT,KB_RGHT,KB_ENT, \
           KB_NO, KB_BTN2, KB_BTN3,  KB_BTN1,  KB_BTN4, KB_NO,KB_NO,  KB_BRK,  KB_HOME, KB_END, KB_NO, KB_FN7),
  KB_NO,   KB_FN1,KB_NO, KB_NO, KB_NO,KB_NO,  KB_NO,  KB_NO),

    /* Layer 2: Vi mode (Quote/Rmeta)
     * ,-----------------------------------------------------------.
     * |`  | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
     * |-----------------------------------------------------------|
     * |Caps |   |Up |   |   |   |   |   |   |Slk|Pus|Up |   |Psc  |
     * |-----------------------------------------------------'     |
     * |Contro|Lef|Dow|Rig|   |   |   |   |Hom|PgU|Lef|Rig|Enter   |
     * |-----------------------------------------------------------|
     * |Shift   |   |   |VoD|VoU|Mut|   |   |End|PgD|Dow|Shift     |
     * |-----------------------------------------------------------|
     * |   |Fn1 |     |                      |     |   |   |   |   |
     * `-----------------------------------------------------------'
     */
KEYMAP(KB_GRV, KB_F1,  KB_F2,  KB_F3,  KB_F4,  KB_F5,  KB_F6,  KB_F7,  KB_F8,  KB_F9,  KB_F10, KB_F11, KB_F12, KB_DEL, \
           KB_FN3, KB_NO,  KB_UP,  KB_NO,  KB_NO,  KB_NO,  KB_PSCR,  KB_PGUP,  KB_NO,KB_NO,KB_UP, KB_NO,  KB_NO, KB_INS, \
           KB_NO, KB_MPLY,KB_MPRV,KB_MNXT,KB_BTN5,  KB_NO,  KB_SLCK,KB_NO,PGDN_LEFT,KB_DOWN,KB_RGHT,KB_RGHT,KB_ENT, \
           KB_FN2, KB_BTN2, KB_BTN3,  KB_BTN1,  KB_BTN4, KB_NO,KB_NO,  KB_BRK,  KB_HOME, KB_END, KB_NO, KB_NO),
  KB_NO,   KB_FN1,KB_NO, KB_NO, KB_NO,KB_NO,  KB_NO,  KB_NO),


    /* Layer 3: Mouse mode (Semicolon)
     * ,-----------------------------------------------------------.
     * |  `| F1| F2| F3| F4| F5| F6| F7| F8| F9|Mut|VoD|VoU|   `   |
     * |-----------------------------------------------------------|
     * |  \  |Mb3|McU|Mb2|   |   |   |   |MwU|   |Pre|Ply|Nex|     |
     * |-----------------------------------------------------'     |
     * |Contro|McL|McD|McR|   |   |   |McL|McD|McR|xxx|   |   \    |
     * |-----------------------------------------------------------|
     * |Shift   |   |   |   |   |   |   |   |   |   |   |Shift     |
     * |-----------------------------------------------------------|
     * |xxx|Gui |Alt  |Mb1                   |Alt  |   |   |   |   |
     * `-----------------------------------------------------------'
     * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel
     */
    KEYMAP(KB_GRV, KB_F1,  KB_F2,  KB_F3,  KB_F4,  KB_F5,  KB_F6,  KB_F7,  KB_F8,  KB_F9,  KB_MUTE,  KB_VOLD,  KB_VOLU, KB_BSPC, \
           KB_BSLS,KB_BTN3,KB_MS_U,KB_BTN2,KB_MS_WH_UP,KB_MS_WH_UP,KB_MS_WH_UP,KB_BTN3,KB_MS_U,KB_BTN2, KB_MPRV,KB_MPLY,  KB_MNXT, KB_GRV, \
           KB_LCTL,KB_MS_L,  KB_MS_D,KB_MS_R,KB_MS_WH_DOWN,KB_MS_WH_DOWN, KB_MS_WH_DOWN,KB_MS_L,KB_MS_D,KB_MS_R,KB_FN3, KB_NO,  KB_BSLS, \
           KB_LSFT,KB_NO,  KB_NO,  KB_NO,KB_NO,KB_NO,KB_NO,KB_NO,KB_NO,  KB_NO,  KB_NO,  KB_RSFT, \
           KB_FN7, KB_LGUI,KB_LALT,KB_BTN1,KB_RALT,KB_NO,  KB_RCTL,  KB_DEL),


    /* Layer 4: Matias half keyboard style (Space)
     * ,-----------------------------------------------------------.
     * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
     * |-----------------------------------------------------------|
     * |Backs|  P|  O|  I|  U|  Y|  T|  R|  E|  W|  Q|Tab|Tab|     |
     * |-----------------------------------------------------'     |
     * |Contro|  ;|  L|  K|  J|  H|  G|  F|  D|  S|  A|Con|Control |
     * |-----------------------------------------------------------|
     * |Shift   |  /|  .|  ,|  M|  N|  B|  V|  C|  X|  Z|Shift     |
     * |-----------------------------------------------------------|
     * |   |Gui |Alt  |xxxxxxxxxxxxxxxxxxxxxx|Alt  |Gui|   |   |Ctr|
     * `-----------------------------------------------------------'
     */
    KEYMAP(KB_MINS,KB_0,   KB_9,   KB_8,   KB_7,   KB_6,   KB_5,   KB_4,   KB_3,   KB_2,   KB_1,   KB_NO,  KB_NO,  KB_ESC, \
           KB_BSPC,KB_P,   KB_O,   KB_I,   KB_U,   KB_Y,   KB_T,   KB_R,   KB_E,   KB_W,   KB_Q,   KB_TAB, KB_TAB, KB_BSPC, \
           KB_LCTL,KB_SCLN,KB_L,   KB_K,   KB_J,   KB_H,   KB_G,   KB_F,   KB_D,   KB_S,   KB_A,   KB_RCTL,KB_RCTL, \
           KB_LSFT,KB_SLSH,KB_DOT, KB_COMM,KB_M,   KB_N,   KB_B,   KB_V,   KB_C,   KB_X,   KB_Z,   KB_RSFT, \
           KB_NO,  KB_LGUI,KB_LALT,KB_FN4, KB_RALT,KB_RGUI,KB_RCTL,  KB_DEL),
};


uint8_t keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t col)
{
    return KEYCODE(layer, row, col);
}

uint8_t keymap_fn_layer(uint8_t fn_bits)
{
    return pgm_read_byte(&fn_layer[biton(fn_bits)]);
}

uint8_t keymap_fn_keycode(uint8_t fn_bits)
{
    return pgm_read_byte(&fn_keycode[(biton(fn_bits))]);
}


matrix:
Code: [Select]
/*
Copyright 2011 Jun Wako

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see .
*/

/*
 * scan matrix
 */
#include
#include
#include
#include
#include "print.h"
#include "util.h"
#include "matrix.h"
#include "debug.h"


#if (MATRIX_COLS > 16)
#   error "MATRIX_COLS must not exceed 16"
#endif
#if (MATRIX_ROWS > 255)
#   error "MATRIX_ROWS must not exceed 255"
#endif

#ifndef DEBOUNCE
#   define DEBOUNCE  0
#endif
static uint8_t debouncing = DEBOUNCE;

// matrix state buffer(1:on, 0:off)
#if (MATRIX_COLS <= 8)
static uint8_t *matrix;
static uint8_t *matrix_prev;
static uint8_t _matrix0[MATRIX_ROWS];
static uint8_t _matrix1[MATRIX_ROWS];
#else
static uint16_t *matrix;
static uint16_t *matrix_prev;
static uint16_t _matrix0[MATRIX_ROWS];
static uint16_t _matrix1[MATRIX_ROWS];
#endif

#ifdef MATRIX_HAS_GHOST
static bool matrix_has_ghost_in_row(uint8_t row);
#endif
static uint8_t read_col(void);
static void unselect_rows(void);
static void select_row(uint8_t row);


inline
uint8_t matrix_rows(void)
{
return MATRIX_ROWS;
}

inline
uint8_t matrix_cols(void)
{
return MATRIX_COLS;
}

void matrix_init(void)
{
// initialize row and col
unselect_rows();
// Input with pull-up(DDR:0, PORT:1)
DDRB = 0x00;
PORTB = 0xFF;

// initialize matrix state: all keys off
for (uint8_t i=0; i < MATRIX_ROWS; i++) _matrix0[i] = 0x00;
for (uint8_t i=0; i < MATRIX_ROWS; i++) _matrix1[i] = 0x00;
matrix = _matrix0;
matrix_prev = _matrix1;
}

uint8_t matrix_scan(void)
{
if (!debouncing) {
uint8_t *tmp = matrix_prev;
matrix_prev = matrix;
matrix = tmp;
}

for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
unselect_rows();
select_row(i);
_delay_us(30);  // without this wait read unstable value.
if (matrix[i] != (uint8_t)~read_col()) {
matrix[i] = (uint8_t)~read_col();
if (debouncing) {
debug("bounce!: "); debug_hex(debouncing); print("\n");
}
debouncing = DEBOUNCE;
}
}
unselect_rows();

if (debouncing) {
debouncing--;
}

return 1;
}

bool matrix_is_modified(void)
{
if (debouncing) return false;
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
if (matrix[i] != matrix_prev[i]) {
return true;
}
}
return false;
}



inline
bool matrix_has_ghost(void)
{
#ifdef MATRIX_HAS_GHOST
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
if (matrix_has_ghost_in_row(i))
return true;
}
#endif
return false;
}

inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
return (matrix[row] & (1<}

inline
#if (MATRIX_COLS <= 8)
uint8_t matrix_get_row(uint8_t row)
#else
uint16_t matrix_get_row(uint8_t row)
#endif
{
return matrix[row];
}

void matrix_print(void)
{
print("\nr/c 01234567\n");
for (uint8_t row = 0; row < matrix_rows(); row++) {
phex(row); print(": ");
#if (MATRIX_COLS <= 8)
pbin_reverse(matrix_get_row(row));
#else
pbin_reverse16(matrix_get_row(row));
#endif
#ifdef MATRIX_HAS_GHOST
if (matrix_has_ghost_in_row(row)) {
print(" }
#endif
print("\n");
}
}

uint8_t matrix_key_count(void)
{
uint8_t count = 0;
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
#if (MATRIX_COLS <= 8)
count += bitpop(matrix[i]);
#else
count += bitpop16(matrix[i]);
#endif
}
return count;
}

#ifdef MATRIX_HAS_GHOST
inline
static bool matrix_has_ghost_in_row(uint8_t row)
{
// no ghost exists in case less than 2 keys on
if (((matrix[row] - 1) & matrix[row]) == 0)
return false;

// ghost exists in case same state as other row
for (uint8_t i=0; i < MATRIX_ROWS; i++) {
if (i != row && (matrix[i] & matrix[row]) == matrix[row])
return true;
}
return false;
}
#endif

inline
static uint8_t read_col(void)
{
return PINB;
}

inline
static void unselect_rows(void)
{
DDRC  = 0x00; DDRD  = 0x00; DDRF  = 0x00;
PORTC = 0x00; PORTD = 0x00; PORTF = 0x00;
// Hi-Z(DDR:0, PORT:0) to unselect
 //   DDRC  &= ~0b11000000; // PC: 7,6
 //   PORTC &= ~0b11000000;
 //   DDRD  &= ~0b11000111; // PD: 7,6,2,1,0
 //   PORTD &= ~0b11000111;
 //   DDRF  &= ~0b11000000; // PF: 7,6
 //   PORTF &= ~0b11000000;
}

inline
static void select_row(uint8_t row)
{
// Output low(DDR:1, PORT:0) to select
// row: 0    1    2    3    4    5    6    7    8 9  10   11 12 13
// pin: PD0, PD1, PD2, PD3, PC6, PC7, PD6, PD7, PF7, PF4, PF6, PF5, PF1, PF0
switch (row) {
case 0:
DDRD  |= (1<<0);
PORTD &= ~(1<<0);
break;
case 1:
DDRD  |= (1<<1);
PORTD &= ~(1<<1);
break;
case 2:
DDRD  |= (1<<2);
PORTD &= ~(1<<2);
break;
case 3:
DDRD  |= (1<<3);
PORTD &= ~(1<<3);
break;
case 4:
DDRC  |= (1<<6);
PORTC &= ~(1<<6);
break;
case 5:
DDRC  |= (1<<7);
PORTC &= ~(1<<7);
break;
case 6:
DDRD  |= (1<<6);
PORTD &= ~(1<<6);
break;
case 7:
DDRD  |= (1<<7);
PORTD &= ~(1<<7);
break;
case 8:
DDRF  |= (1<<7);
PORTF &= ~(1<<7);
break;
case 9:
DDRF  |= (1<<4);
PORTF &= ~(1<<4);
break;
case 10:
DDRF  |= (1<<6);
PORTF &= ~(1<<6);
break;
case 11:
DDRF  |= (1<<5);
PORTF &= ~(1<<5);
break;
case 12:
DDRF  |= (1<<1);
PORTF &= ~(1<<1);
break;
case 13:
DDRF  |= (1<<0);
PORTF &= ~(1<<0);
break;
}
}

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #269 on: Fri, 18 November 2011, 02:12:02 »
im trying to setup a github for the codes

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #270 on: Fri, 18 November 2011, 02:14:58 »
Looks like WASD could cater to the DOX keyboard builders with small right shift and small left shift is just a R1 1x1.25 so it not a problem. This means I am considering changing my layout again to be much close to the Phantom (ishtob is going to hate me).

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #271 on: Fri, 18 November 2011, 02:17:54 »
nah its okay, changing the layout is not too hard to do since i've do it so many times now :P

anyways, that tutorial we were talking about, I'm about half way done documenting it.... the diodes came super fast so I started tonight, now I just need to wait for the switches and I can complete the tute... here's a picture of its current progress:


when done, the whole keyboard will be orange LED lit, and 3 areas can be turned on or off (WASD, ESC, everything else)
« Last Edit: Fri, 18 November 2011, 11:43:52 by ishtob »

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #272 on: Fri, 18 November 2011, 02:22:47 »
Quote from: ishtob;454579
which file would you like to see? matrix or the keycodes?

The one starting like this in your example for the article. Hopefully from that I will be able to ascertain which pins = row columns on the teensy.
Code: [Select]
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include &quot;usb_keyboard.h&quot;

#define bool            uint8_t
#define true            1
#define false           0
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #273 on: Fri, 18 November 2011, 02:25:41 »
Quote from: ishtob;454588
nah its okay, changing the layout is not too hard to do since i've do it so many times now :P

anyways, that tutorial we were talking about, I'm about half way done documenting it.... the diodes came super fast so I started tonight, now I just need to wait for the switches and I can complete the tute... here's a picture of its current progress:
Show Image


when done, the whole keyboard will be orange LED lit, and 3 areas can be turned on or off (WASD, ESC, everything else)
Looking nice, are your switches going to be pcb mounted?

Check out the thread about the short right **** over in WASD's subforum http://tinyurl.com/7k2thj2 . You should be able to soon get a nice set of keycaps with your exact legends on. Im thinking white as I tested my white WASD caps under blue LED and it does indeed show through, plus I think the etching looks great on the white caps.

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #274 on: Fri, 18 November 2011, 02:29:41 »
Another possibly very useful thing to us. This thread was just talking about some DIY poker cases and since the DOX keyboard is meant to be the same form factor we could definitely benefit from having a case to use with no modding.
http://geekhack.org/showthread.php?24068-DIY-Poker-case

By the way thank you ishtob for posting the updated code, I will be looking over it and seeing what I can learn about the Teensy from it.
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #275 on: Fri, 18 November 2011, 02:32:00 »
well I got 2 boards, the second one I will hold onto until I can find someone to make a plate for, this one is going into the aluminum case that should be shipped out anyday now

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #276 on: Fri, 18 November 2011, 02:35:56 »
ishtob you mentioned the dip siwtches for the LEDs. Where can I source a dip switch that will fit?

Quote from: bloodygood;454592
Another possibly very useful thing to us. This thread was just talking about some DIY poker cases and since the DOX keyboard is meant to be the same form factor we could definitely benefit from having a case to use with no modding.
http://geekhack.org/showthread.php?24068-DIY-Poker-case

By the way thank you ishtob for posting the updated code, I will be looking over it and seeing what I can learn about the Teensy from it.

I would love more info on that and one for my DOX, care to dig in and get more info? (files and where to send them would be great!) This definitely beats the original DOX case (not that I was against it). I have one qusetion though and you somehow get a plate into the mix also? I prefer plate mounted switches.

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #277 on: Fri, 18 November 2011, 02:45:59 »

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #278 on: Fri, 18 November 2011, 02:57:01 »
Sweet i wish that we could edit the main post to keep a parts list so that i dont have to keep searching though the thread. Someone could start another thread but then it might get confusing but since istob is doing a in depth tutorial it might be a good idea. Anyone mind if I do that? I promise to keep everything updated in the main post. ill call it DOX R2 or something...

Also just notice we have grown this from like 5 pages to 28 O.O
« Last Edit: Fri, 18 November 2011, 03:01:35 by TheProfosist »

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #279 on: Fri, 18 November 2011, 09:54:57 »
Quote from: TheProfosist;454595
ishtob you mentioned the dip siwtches for the LEDs. Where can I source a dip switch that will fit?



I would love more info on that and one for my DOX, care to dig in and get more info? (files and where to send them would be great!) This definitely beats the original DOX case (not that I was against it). I have one qusetion though and you somehow get a plate into the mix also? I prefer plate mounted switches.
I will look into finding what I can for the Poker style case, hopefully with just a slight modification it could be used for PCB or Plate mounted and that would be awesome
Also I updated the image for your sig since you prefer having it right justified, it should line up properly now. And I believe it should work no matter if it is left or right aligned. Hope that helps.


Oh ishtob started a modification page for the updated everything
http://geekhack.org/showwiki.php?title=Island:24082
« Last Edit: Fri, 18 November 2011, 10:00:28 by bloodygood »
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #280 on: Fri, 18 November 2011, 10:21:30 »
Quote from: bloodygood;454762
I will look into finding what I can for the Poker style case, hopefully with just a slight modification it could be used for PCB or Plate mounted and that would be awesome
Also I updated the image for your sig since you prefer having it right justified, it should line up properly now. And I believe it should work no matter if it is left or right aligned. Hope that helps.
Show Image


Oh ishtob started a modification page for the updated everything
http://geekhack.org/showwiki.php?title=Island:24082
Sounds great

Works for me better him than me any way hes the one doing most of the work. I guess im just an ideas guy in the is case.

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #281 on: Fri, 18 November 2011, 10:27:08 »
oh, if you guys are going to use the PCB file, use the one from the tutorial, I caught 2 small mistakes on this one i'm working on. and I've corrected it on those files,
if not the trace needs to cut in 2 places:
1. key 7's LED should not be connected to anything on the topside, that small trace on the left LED hole should be severed.
2. key Y, the left hold of the LED should only be connected to the trace above it, sever the trace connecting downwards

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #282 on: Fri, 18 November 2011, 10:33:48 »
Quote from: ishtob;454791
oh, if you guys are going to use the PCB file, use the one from the tutorial, I caught 2 small mistakes on this one i'm working on. and I've corrected it on those files,
if not the trace needs to cut in 2 places:
1. key 7's LED should not be connected to anything on the topside, that small trace on the left LED hole should be severed.
2. key Y, the left hold of the LED should only be connected to the trace above it, sever the trace connecting downwards
Good to know. I am also working on finalizing the new DOX layout since I learned that WASD will have compatible keycaps. As we track down more stuff we should add it to the wiki. Also do we continue conversation here on in your new one since what were dealing with is more of the offshoot?

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #283 on: Fri, 18 November 2011, 10:38:10 »
leave the new wiki for questions, keep the discussions here

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #284 on: Fri, 18 November 2011, 10:41:01 »
Quote from: ishtob;454802
leave the new wiki for questions, keep the discussions here
sounds good to me dont want them having to go through anothe 28 pages do we.

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #285 on: Fri, 18 November 2011, 10:43:32 »
Considering we were able to source the shorter right shift key I have been debating about the idea of going back to this layout
it gives an extra key below the extra key next to the right shift key. But I am still deciding what extra function I would add there. (no extra special keys needed)
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #286 on: Fri, 18 November 2011, 10:44:31 »
I like have 2 FN keys both for the same layer, allow me to use my layer with either hands

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #287 on: Fri, 18 November 2011, 10:45:46 »
and are you sure you will be able to source that 1st row of keycaps in 1x1?

here's an idea:
use those 4 keys as the direction keys

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #288 on: Fri, 18 November 2011, 10:46:00 »
Quote from: ishtob;454806
I like have 2 FN keys both for the same layer, allow me to use my layer with either hands
same here I have the default layer setup almost the same as my Phantom itll be up soon.

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #289 on: Fri, 18 November 2011, 10:47:41 »
Quote from: ishtob;454808
and are you sure you will be able to source that 1st row of keycaps in 1x1?
Those are the same exact size as arrow keys and zxcvbnm,./ Remember sculpted row 1 and 2 use the same keys. row 3 and 4 each use their own sculpted size, and row 5 and 6 use the same sculpted shape. So there really isn't any trouble sourcing extra row 2 keys. (total of 4 different 1x1 sculpted sizes)
If you don't believe me try removing your arrow up and down keys and comparing them side by side. They should also match any of those row 2 keys if you want to add that into the comparison.
« Last Edit: Fri, 18 November 2011, 10:49:56 by bloodygood »
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #290 on: Fri, 18 November 2011, 10:50:57 »
Quote from: ishtob;454808
and are you sure you will be able to source that 1st row of keycaps in 1x1?

here's an idea:
use those 4 keys as the direction keys
yes you can remember "." on the numpad it uses them Edit: forgot as well as all the 1st row letter keys.

I plan to have a layer with right shift, alt, win, menu being arrow keys will be on a mechanically toggleable layer via one of those toggleable cherry switches Edit: would be Win, Menu, Crtl on a normal keyboard
« Last Edit: Fri, 18 November 2011, 10:54:32 by TheProfosist »

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #291 on: Fri, 18 November 2011, 10:54:38 »
Quote from: TheProfosist;454818
yes you can remember "." on the numpad it uses them Edit: forgot as well as all the 1st row letter keys.

I plan to have a layer with right shift, alt, win, menu being arrow keys will be on a mechanically toggleable layer via one of those toggleable cherry switches
Also 1 2 and 3 from the numpad use them as well.
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #292 on: Fri, 18 November 2011, 11:00:40 »
Quote from: bloodygood;454824
Also 1 2 and 3 from the numpad use them as well.
I know, I had a brain fart.

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #293 on: Fri, 18 November 2011, 11:09:41 »
Changed my mind about the bottom row giving 1x1 keys on the basis that Menu for Fn feels much more comfortable and instead of placing Fn next to shift, that is where my Shift Lock will be (using a locking switch of course) same with my Fn Lock being a locking Fn key in the bottom left.

But of course I will be talking it over with my girlfriend to make sure she agrees on the layout since I don't want to have a keyboard she can't also use comfortably.
On the other side though, I plan on adding qwe,asd,zxc to my Fn layer since I find I use those keys with arrow keys more often than needing arrows on both sides, I will update my Fn layer to show it soon.
« Last Edit: Fri, 18 November 2011, 11:17:29 by bloodygood »
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #294 on: Fri, 18 November 2011, 11:18:06 »
Finished my layout. Those 5 R1 1x1 keys are really tempting. Would allow for full right side modifiers and a menu key when using layer 2.


Default Layer


Layer 1


Layer 2


Fn 2 is a toggle layer using that cherry toggle switch

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Dox KB, Build your own!
« Reply #295 on: Fri, 18 November 2011, 11:25:14 »
My firmware already supports NKRO feature like Soarer's.
NKRO is not active by default, you need to press LShift+RShift+N to start the feature.I think it should some work on Windows, Linux and Mac without severe problems. Though NKRO feature is never thoroughly tested yet and I doesn't used it usually. Try it.

And concerning layer switching,
at this time all Fn keys are momentary and  firmware doesn't support toggle switching. I placed toggle feature on my TODO list but not coming yet.
Physical locking switch is very nice and a direct work around for this lack.

Offline bloodygood

  • Posts: 310
Dox KB, Build your own!
« Reply #296 on: Fri, 18 November 2011, 11:26:05 »
Ah very nice with that left shift I hadn't thought about it, but it is the size of a 1x1 with a 1.25 modifier. I will think about that when I talk to my girl in a few.
If I instead put the shift lock on the left side right above Fn lock, I could then keep the normal size shift and could get all PBT keycaps later isntead of the ABS shorter right shift. Not bad at all. Editing to that idea right now.

Oh darn I notice that sometimes I hit the left and some times I hit the right side of the shift key, I have no idea which would be more optimal or if that might end up badly.. hm.. will experiment more.
« Last Edit: Fri, 18 November 2011, 11:57:38 by bloodygood »
Current collection: Filco Tenkeyless MX Brown, IBM Model M, Happy Hacking Keyboard Lite II, Dell AT101W.
Looking for: IBM Model M SpaceSaver, HHKB Topre keychain. >> Feedback Thread

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #297 on: Fri, 18 November 2011, 11:29:40 »
Quote from: hasu;454846
My firmware already supports NKRO feature like Soarer's.
NKRO is not active by default, you need to press LShift+RShift+N to start the feature.I think it should some work on Windows, Linux and Mac without severe problems. Though NKRO feature is never thoroughly tested yet and I doesn't used it usually. Try it.

And concerning layer switching,
at this time all Fn keys are momentary and  firmware doesn't support toggle switching. I placed toggle feature on my TODO list but not coming yet.
Physical locking switch is very nice and a direct work around for this lack.
Wow thanks for the info on that no need to use up Soarer's time then.

Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Dox KB, Build your own!
« Reply #298 on: Fri, 18 November 2011, 11:38:47 »
just letting you guys know the locking switch will need a different LED configuration to work

Offline TheProfosist

  • Posts: 3671
  • Location: Wisconsin, USA
  • Custom Layouts Only!
Dox KB, Build your own!
« Reply #299 on: Fri, 18 November 2011, 11:42:00 »
Quote from: ishtob;454857
just letting you guys know the locking switch will need a different LED configuration to work
so what no led on the locking switch? or what?