Author Topic: Custom Build for A Focus 2001  (Read 5045 times)

0 Members and 1 Guest are viewing this topic.

Offline Alectardy98

  • Thread Starter
  • Posts: 17
  • Location: United States
  • Pre Dental
Custom Build for A Focus 2001
« on: Sat, 16 January 2021, 17:10:36 »
Hello, I wanted to start sharing my projects, so here is a good one to start

First I have been wanting to do a focus 2001 for a while, but I wanted to get one for the right price. After a bit of searching, I found one that I liked at a good price

I was able to get this one for $78.51 shipped. Unfortunately, when I received the item, even though it was packed well, one of the dust cover hinges was broken. I messaged the seller, who offered to make a claim with the shipping company and issued me a 20 USD refund for the item not being in the condition it was supposed to be. Nice guy, if you ever are thinking of buying from  brauning_finds on eBay I would recommend. Here is a picture of the damage for reference

First things first. I had to fix that clamp that broke, which ended up being a lot harder than I thought. I originally planned on using only a small amount of 2 part clear epoxy, to avoid anything visible giving away that I was a repair job, but as the part that broke was the force baring clamp piece, I ended up having to use a lot more then I wanted, though it would only be notable to me.

The next thing I wanted to do was make it work over USB so I could actually use the thing. The only thing was that none of my Soarers converters would work. Not even the hand made one I had made for my zenith which had pin-up resister for the data and clock lines, so I had to get more creative. I ended up deciding to use TMK via hasu's IBM PC Keyboard Converter thread
https://geekhack.org/index.php?topic=103648.0
I'm not sure if other people have ever had problems with a Focus 2001, but this finally worked for me. At this point, I was only using the standard layout because I had not decided exactly what to do yet in terms of layout.

Now that I had committed to TMK, I had to internal mod the Focus 2001. I could have just used a Mini USB run-off from the teensy, but what is the fun in that. Instead, I wanted to go hot-swap! I decided to wire up a female aviator plug to the end of a micro usb and just use that as a hotplug port. here is a pic so you can see what I mean

That's all fine and dandy, but now I had to add it to the case, It was Dremel time! I tend to go slow and stop dremeling when I get close. Then I finish off with a hand file, that way I don't over cut. I'm sorry I do not have a picture at this stage, I didn't yet know that I was going to start posting my projects.

After the hole was made for the female aviator plug, I wanted to prime and paint the case to be black. I first primed with Rust-Oleum Universal Bonding Primer (3 coats) and finished off with Rust-Oleum Metallic (6 coats) and ended up with a pretty good paint job!
https://www.amazon.com/Rust-Oleum-Universal-Bonding-Primer-12-Ounce/dp/B00SVWJ8U2
https://www.amazon.com/dp/B000ZYUWQ8/ref=cm_sw_em_r_mt_dp_v42aGbVY2YM68


It was at this point that I realized that the Stock keycaps were not going to cut it, so I was going to have to pick a theme, so I chose red/white/and black and went with it. It was then that I changed the lock light LED's to red. I actually have a picture for this point


Once I did this I ordered the Tai Hao Dolch Set from Drop. But here is where I ran into another snag, Even with this change I wasn't going to be able to change the enter key or spacebar. Also, I didn't think that the Dolch alphas looked good on the keyboard, so I had to get creative.


After sleeping on it, I decided to put the stock alphas back on and decided to paint the space bar and enter key to match my red theme. Now boy oh boy was that a pain in the ass, oh and by the way, ABS dissolves in acetone, I learned the hard way.


Thankfully I was able to source a spare and I was off to the races. Once I was finally happy with the results I put it back together and this is what I had!




Then I gave the switches a nice little lube of my trusty Silicon Grease (yes yes I can feel the backlash coming already) but Im telling you the thing felt and sounded amazing. Just in case you want to know this is the silicon grease I used
https://www.amazon.com/Silverhook-SGPGT90-Silicone-Grease-Tube/dp/B00W6Q3B1G

I also spent a long time on my TMK file with the help of lilwebsite, he is a great guy and really helped me out a lot. I wanted lock lights to change on layer shift, so they could would on both windows and mac, as well as toggle the Scroll lock light when in FN mode. Here is my unimap for all who are interested
Code: [Select]
/*
  Macro Cheat-Sheet
  I() change interval of stroke.
  D() press key
  U() release key
  T() type key(press and release)
  W() wait
  SM() store modifier state
  RM() restore modifier state
  CM() clear modifier stateMacro Define
 
  Example
  MACRO( D(LSHIFT), D(D), END )  // hold down LSHIFT and D - will print 'D'
  MACRO( U(D), U(LSHIFT), END )  // release U and LSHIFT keys (an event.pressed == False counterpart for the one above)
  MACRO( I(255), T(H), T(E), T(L), T(L), W(255), T(O), END ) // slowly print out h-e-l-l---o
*/

#include "unimap_trans.h"
#include "timer.h"
#include "led.h"
#include "stdint.h"
#include "mousekey.h"

#define AC_FN1 ACTION_MACRO(1)                          //Desktop Right
#define AC_FN2 ACTION_MACRO(2)                          //Desktop Left
#define AC_FN3 ACTION_MACRO(3)                          //New Explorer On Windows
#define AC_FN4 ACTION_MACRO(4)                          //Snip Tool Windows
#define AC_FN5 ACTION_MACRO(5)                          //V-Desktop Up
#define AC_FN6 ACTION_MACRO(6)                          //Min All
#define AC_FN7 ACTION_MACRO(7)                          //Paste
#define AC_FN8 ACTION_MACRO(8)                          //Copy All
#define AC_FN9 ACTION_MACRO(9)                          //Task Manager
#define AC_FN11 ACTION_MACRO(11)                        //Double Zero

#define AC_FN0 ACTION_LAYER_TAP_KEY(2, KC_APPLICATION)  //Hold Toggle For Layer 1
#define AC_FN10 ACTION_LAYER_TOGGLE(1)                  //Toggle NumLock

/*
 } else if (layer_state & (1L<<2)); {
     led_set(host_keyboard_leds() | (1<<USB_LED_SCROLL_LOCK));
     my_led_status = 1;
 }
 */


bool my_led_status = 0;

hook_layer_change(uint32_t layer_state)
{
    if (my_led_status);

        if (layer_state & (1L<<1)) {
            // LED is off, so let's turn it on
            led_set(host_keyboard_leds() | (1<<USB_LED_NUM_LOCK));
            my_led_status = 1;
        } else {
            // LED is on, so let's turn it off
            led_set(host_keyboard_leds() & ~(1<<USB_LED_NUM_LOCK));
            my_led_status = 0;
           
     }
    if (layer_state & (1L<<2)) {
        led_set(host_keyboard_leds() | (1<<USB_LED_SCROLL_LOCK));
        my_led_status = 1;
       
    }
}
hook_keyboard_leds_change(uint8_t led_status)
{
    if (my_led_status)
            {
                // LED is off, so let's turn it on
                led_set(host_keyboard_leds() | (1<<USB_LED_NUM_LOCK));
                my_led_status = 1;
            }
            else
            {
                // LED is on, so let's turn it off
                led_set(host_keyboard_leds() & ~(1<<USB_LED_NUM_LOCK));
                my_led_status = 0;
            }
        }
   
hook_late_init(void)
{
if (my_led_status)

    {
        led_set(host_keyboard_leds() & ~(1<<USB_LED_NUM_LOCK));
        my_led_status = 0;
    }
}
           


uint16_t my_led_timer;
void hook_matrix_change(keyevent_t event)
{
    // only flash LED for key press events, not key release events.
    if (event.pressed)
    {
        PORTD = (1<<4);
        my_led_timer = timer_read();
    }
}

void hook_keyboard_loop(void)
{
        if (timer_elapsed(my_led_timer) > 60)
        {
            PORTD = ~(1<<4);
        }
   
}

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
    switch (id) {
        case 1:                 //Desktop Right
            return (record->event.pressed ?
                    MACRO( I(0), D(LGUI), D(LCTL), T(RGHT), U(LGUI), U(LCTL), END ) :
                    MACRO_NONE );
        case 2:                 //Desktop Left
            return (record->event.pressed ?
                    MACRO( I(0), D(LGUI), D(LCTL), T(LEFT), U(LGUI), U(LCTL), END ) :
                    MACRO_NONE );
        case 3:                 //New Explorer
            return (record->event.pressed ?
                    MACRO( I(0), D(LGUI), D(E), U(LGUI), U(E), END ) :
                    MACRO_NONE );
        case 4:                 //Snip Tool
            return (record->event.pressed ?
                    MACRO( I(0), D(LGUI), D(LSFT), T(S), U(LGUI), U(LSFT), END ) :
                    MACRO_NONE );
        case 5:                 //V-Desktop Up
            return (record->event.pressed ?
                    MACRO( I(0), D(LGUI), T(TAB), U(LGUI), END ) :
                    MACRO_NONE );
        case 6:                 //Min All
            return (record->event.pressed ?
                    MACRO( I(0), D(LGUI), T(D), U(LGUI), END ) :
                    MACRO_NONE );
        case 7:                 // Paste
            return (record->event.pressed ?
                    MACRO( I(0), T(F2), D(LCTL), T(V), U(LCTL), END ) :
                    MACRO_NONE );
        case 8:                 //Copy All
            return (record->event.pressed ?
                    MACRO( I(0), T(F2), D(LCTL), T(A), T(C), U(LCTL), END ) :
                    MACRO_NONE );
       
    }
    return MACRO_NONE;
}




#ifdef KEYMAP_SECTION_ENABLE
const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
#else
const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = {
#endif
    UNIMAP(
              TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
    ESC,        F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9, F10, F11, F12,          PSCR,SLCK,PAUS,         VOLD,VOLU,MUTE,
    GRV, 1,      2,   3,   4,   5,   6,   7,   8,   9,   0,MINS, EQL,TRNS,BSPC,      INS,HOME,PGUP,    FN10,PSLS,PAST,PMNS,
    TAB, Q,      W,   E,   R,   T,   Y,   U,   I,   O,   P,LBRC,RBRC,      FN0,      DEL, END,PGDN,    HOME,  UP,PGUP,PPLS,
    CAPS,A,      S,   D,   F,   G,   H,   J,   K,   L,SCLN,QUOT,     LGUI, ENT,                        LEFT,  NO,RGHT,PCMM,
    LSFT,LGUI,   Z,   X,   C,   V,   B,   N,   M,COMM, DOT,SLSH,     TRNS,RSFT,            UP,          END,DOWN,PGDN,PENT,
    LCTL,TRNS,LALT,TRNS,           SPC,          TRNS,TRNS,RALT,TRNS,TRNS,RCTL,     LEFT,DOWN,RGHT,           INS,DEL,PEQL
    ),
    UNIMAP(
              TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
    TRNS,     TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS,TRNS,TRNS,         TRNS,TRNS,TRNS,
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,     TRNS,TRNS,TRNS,       7,   8,   9,TRNS,
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,TRNS,                           4,   5,   6,TRNS,
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,TRNS,          TRNS,            1,   2,   3,TRNS,
    TRNS,TRNS,TRNS,TRNS,          TRNS,          TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,TRNS,TRNS,            0, DOT,TRNS
    ),
    UNIMAP(
              TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
    TRNS,     TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS,TRNS,TRNS,         TRNS,TRNS,TRNS,
    TRNS, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,TRNS,TRNS,     TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,
    TRNS,TRNS,TRNS,FN3 ,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,     TRNS,TRNS,TRNS,    TRNS,VOLU,TRNS,TRNS,
    TRNS,TRNS,FN4 ,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,TRNS,                        MPRV,MPLY,MNXT,TRNS,
    TRNS,TRNS,TRNS,TRNS,FN8 ,FN7 ,TRNS,TRNS,TRNS,TRNS,TRNS,BSLS,     TRNS,TRNS,          FN5,          TRNS,VOLD,TRNS,TRNS,
    TRNS,TRNS,TRNS,TRNS,          TRNS,          TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     FN2 ,FN6,FN1 ,          TRNS,TRNS,TRNS
    ),
};

/*
 (UNMODIFIED)
 
         F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,098765
ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,         VOLD,VOLU,MUTE,
GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,
CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,
LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     RO,  RSFT,          UP,           P1,  P2,  P3,  PENT,
LCTL,LGUI,LALT,MHEN,          SPC,           HENK,KANA,RALT,RGUI,FN0, RCTL,     LEFT,DOWN,RGHT,         P0,  PDOT,PEQL

    *         ,-----------------------------------------------.
    *         |F13|F14|F15|F16|F17|F18|F19|F20|F21|F22|F23|F24|
    * ,---.   |-----------------------------------------------|     ,-----------.     ,-----------.
    * |Esc|   |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|     |PrS|ScL|Pau|     |VDn|VUp|Mut|
    * `---'   `-----------------------------------------------'     `-----------'     `-----------'
    * ,-----------------------------------------------------------. ,-----------. ,---------------.
    * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -|
    * |-----------------------------------------------------------| |-----------| |---------------|
    * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|  +|
    * |-----------------------------------------------------------| `-----------' |---------------|
    * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  #|Entr|               |  4|  5|  6|KP,|
    * |-----------------------------------------------------------|     ,---.     |---------------|
    * |Shft| ^a|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /| RO|Shift |     |Up |     |  1|  2|  3|Ent|
    * |-----------------------------------------------------------| ,-----------. |---------------|
    * |Ctl|Gui|Alt|MHEN|     Space      |HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |      0|  .|KP=|
    * `-----------------------------------------------------------' `-----------' `---------------'
 
 
 
 Keycode Symbol      Short name      Description
 --------------------------------------------------------------------------------
 KC_NO                               00 Reserved (no event indicated)
 KC_ROLL_OVER                        01 Keyboard ErrorRollOver
 KC_POST_FAIL                        02 Keyboard POSTFail
 KC_UNDEFINED                        03 Keyboard ErrorUndefined
 KC_A                                04 Keyboard a and A
 KC_B                                05 Keyboard b and B
 KC_C                                06 Keyboard c and C
 KC_D                                07 Keyboard d and D
 KC_E                                08 Keyboard e and E
 KC_F                                09 Keyboard f and F
 KC_G                                0A Keyboard g and G
 KC_H                                0B Keyboard h and H
 KC_I                                0C Keyboard i and I
 KC_J                                0D Keyboard j and J
 KC_K                                0E Keyboard k and K
 KC_L                                0F Keyboard l and L
 KC_M                                10 Keyboard m and M
 KC_N                                11 Keyboard n and N
 KC_O                                12 Keyboard o and O
 KC_P                                13 Keyboard p and P
 KC_Q                                14 Keyboard q and Q
 KC_R                                15 Keyboard r and R
 KC_S                                16 Keyboard s and S
 KC_T                                17 Keyboard t and T
 KC_U                                18 Keyboard u and U
 KC_V                                19 Keyboard v and V
 KC_W                                1A Keyboard w and W
 KC_X                                1B Keyboard x and X
 KC_Y                                1C Keyboard y and Y
 KC_Z                                1D Keyboard z and Z
 KC_1                                1E Keyboard 1 and !
 KC_2                                1F Keyboard 2 and @
 KC_3                                20 Keyboard 3 and #
 KC_4                                21 Keyboard 4 and $
 KC_5                                22 Keyboard 5 and %
 KC_6                                23 Keyboard 6 and ^
 KC_7                                24 Keyboard 7 and &
 KC_8                                25 Keyboard 8 and *
 KC_9                                26 Keyboard 9 and (
 KC_0                                27 Keyboard 0 and )
 KC_ENTER            KC_ENT          28 Keyboard Return (ENTER)
 KC_ESCAPE           KC_ESC          29 Keyboard ESCAPE
 KC_BSPACE           KC_BSPC         2A Keyboard DELETE (Backspace)
 KC_TAB                              2B Keyboard Tab
 KC_SPACE            KC_SPC          2C Keyboard Spacebar
 KC_MINUS            KC_MINS         2D Keyboard - and (underscore)
 KC_EQUAL            KC_EQL          2E Keyboard = and +
 KC_LBRACKET         KC_LBRC         2F Keyboard [ and {
 KC_RBRACKET         KC_RBRC         30 Keyboard ] and }
 KC_BSLASH           KC_BSLS         31 Keyboard \ and |
 KC_NONUS_HASH       KC_NUHS         32 Keyboard Non-US # and ~
 KC_SCOLON           KC_SCLN         33 Keyboard ; and :
 KC_QUOTE            KC_QUOT         34 Keyboard ‘ and “
 KC_GRAVE            KC_GRV          35 Keyboard Grave Accent and Tilde
 KC_COMMA            KC_COMM         36 Keyboard, and <
 KC_DOT                              37 Keyboard . and >
 KC_SLASH            KC_SLSH         38 Keyboard / and ?
 KC_CAPSLOCK         KC_CAPS         39 Keyboard Caps Lock
 KC_F1                               3A Keyboard F1
 KC_F2                               3B Keyboard F2
 KC_F3                               3C Keyboard F3
 KC_F4                               3D Keyboard F4
 KC_F5                               3E Keyboard F5
 KC_F6                               3F Keyboard F6
 KC_F7                               40 Keyboard F7
 KC_F8                               41 Keyboard F8
 KC_F9                               42 Keyboard F9
 KC_F10                              43 Keyboard F10
 KC_F11                              44 Keyboard F11
 KC_F12                              45 Keyboard F12
 KC_PSCREEN          KC_PSCR         46 Keyboard PrintScreen1
 KC_SCKLOCK          KC_SLCK         47 Keyboard Scroll Lock11
 KC_PAUSE            KC_PAUS         48 Keyboard Pause1
 KC_INSERT           KC_INS          49 Keyboard Insert1
 KC_HOME                             4A Keyboard Home1
 KC_PGUP                             4B Keyboard PageUp1
 KC_DELETE           KC_DEL          4C Keyboard Delete Forward
 KC_END                              4D Keyboard End1
 KC_PGDOWN           KC_PGDN         4E Keyboard PageDown1
 KC_RIGHT            KC_RGHT         4F Keyboard RightArrow1
 KC_LEFT                             50 Keyboard LeftArrow1
 KC_DOWN                             51 Keyboard DownArrow1
 KC_UP                               52 Keyboard UpArrow1
 KC_NUMLOCK          KC_NLCK         53 Keypad Num Lock and Clear11
 KC_KP_SLASH         KC_PSLS         54 Keypad /1
 KC_KP_ASTERISK      KC_PAST         55 Keypad *
 KC_KP_MINUS         KC_PMNS         56 Keypad -
 KC_KP_PLUS          KC_PPLS         57 Keypad +
 KC_KP_ENTER         KC_PENT         58 Keypad ENTER5
 KC_KP_1             KC_P1           59 Keypad 1 and End
 KC_KP_2             KC_P2           5A Keypad 2 and Down Arrow
 KC_KP_3             KC_P3           5B Keypad 3 and PageDn
 KC_KP_4             KC_P4           5C Keypad 4 and Left Arrow
 KC_KP_5             KC_P5           5D Keypad 5
 KC_KP_6             KC_P6           5E Keypad 6 and Right Arrow
 KC_KP_7             KC_P7           5F Keypad 7 and Home
 KC_KP_8             KC_P8           60 Keypad 8 and Up Arrow
 KC_KP_9             KC_P9           61 Keypad 9 and PageUp
 KC_KP_0             KC_P0           62 Keypad 0 and Insert
 KC_KP_DOT           KC_PDOT         63 Keypad . and Delete
 KC_NONUS_BSLASH     KC_NUBS         64 Keyboard Non-US \ and |
 KC_APPLICATION      KC_APP          65 Keyboard Application10
 KC_POWER                            66 Keyboard Power9
 KC_KP_EQUAL         KC_PEQL         67 Keypad =
 KC_F13                              68 Keyboard F13
 KC_F14                              69 Keyboard F14
 KC_F15                              6A Keyboard F15
 KC_F16                              6B Keyboard F16
 KC_F17                              6C Keyboard F17
 KC_F18                              6D Keyboard F18
 KC_F19                              6E Keyboard F19
 KC_F20                              6F Keyboard F20
 KC_F21                              70 Keyboard F21
 KC_F22                              71 Keyboard F22
 KC_F23                              72 Keyboard F23
 KC_F24                              73 Keyboard F24
 KC_EXECUTE                          74 Keyboard Execute
 KC_HELP                             75 Keyboard Help
 KC_MENU                             76 Keyboard Menu
 KC_SELECT                           77 Keyboard Select
 KC_STOP                             78 Keyboard Stop
 KC_AGAIN                            79 Keyboard Again
 KC_UNDO                             7A Keyboard Undo
 KC_CUT                              7B Keyboard Cut
 KC_COPY                             7C Keyboard Copy
 KC_PASTE                            7D Keyboard Paste
 KC_FIND                             7E Keyboard Find
 KC__MUTE                            7F Keyboard Mute
 KC__VOLUP                           80 Keyboard Volume Up
 KC__VOLDOWN                         81 Keyboard Volume Down
 KC_LOCKING_CAPS                     82 Keyboard Locking Caps Lock12
 KC_LOCKING_NUM                      83 Keyboard Locking Num Lock12
 KC_LOCKING_SCROLL                   84 Keyboard Locking Scroll Lock12
 KC_KP_COMMA         KC_PCMM         85 Keypad Comma27
 KC_KP_EQUAL_AS400                   86 Keypad Equal Sign29
 KC_INT1             KC_RO           87 Keyboard International115,28
 KC_INT2             KC_KANA         88 Keyboard International216
 KC_INT3             KC_JYEN         89 Keyboard International317
 KC_INT4             KC_HENK         8A Keyboard International418
 KC_INT5             KC_MHEN         8B Keyboard International519
 KC_INT6                             8C Keyboard International620
 KC_INT7                             8D Keyboard International721
 KC_INT8                             8E Keyboard International822
 KC_INT9                             8F Keyboard International922
 KC_LANG1                            90 Keyboard LANG125
 KC_LANG2                            91 Keyboard LANG226
 KC_LANG3                            92 Keyboard LANG330
 KC_LANG4                            93 Keyboard LANG431
 KC_LANG5                            94 Keyboard LANG532
 KC_LANG6                            95 Keyboard LANG68
 KC_LANG7                            96 Keyboard LANG78
 KC_LANG8                            97 Keyboard LANG88
 KC_LANG9                            98 Keyboard LANG98
 KC_ALT_ERASE                        99 Keyboard Alternate Erase7
 KC_SYSREQ                           9A Keyboard SysReq/Attention1
 KC_CANCEL                           9B Keyboard Cancel
 KC_CLEAR                            9C Keyboard Clear
 KC_PRIOR                            9D Keyboard Prior
 KC_RETURN                           9E Keyboard Return
 KC_SEPARATOR                        9F Keyboard Separator
 KC_OUT                              A0 Keyboard Out
 KC_OPER                             A1 Keyboard Oper
 KC_CLEAR_AGAIN                      A2 Keyboard Clear/Again
 KC_CRSEL                            A3 Keyboard CrSel/Props
 KC_EXSEL                            A4 Keyboard ExSel
 
 Modifiers
 KC_LCTRL            KC_LCTL         E0 Keyboard LeftControl
 KC_LSHIFT           KC_LSFT         E1 Keyboard LeftShift
 KC_LALT                             E2 Keyboard LeftAlt
 KC_LGUI                             E3 Keyboard Left GUI(Windows/Apple/Meta key)
 KC_RCTRL            KC_RCTL         E4 Keyboard RightControl
 KC_RSHIFT           KC_RSFT         E5 Keyboard RightShift
 KC_RALT                             E6 Keyboard RightAlt
 KC_RGUI                             E7 Keyboard Right GUI(Windows/Apple/Meta key)

  * Virtual keycodes
 Generic Desktop Page(0x01) - System Control
 KC_SYSTEM_POWER     KC_PWR          System Power Down
 KC_SYSTEM_SLEEP     KC_SLEP         System Sleep
 KC_SYSTEM_WAKE      KC_WAKE         System Wake

 Consumer Page(0x07)
 KC_AUDIO_MUTE       KC_MUTE         Mute
 KC_AUDIO_VOL_UP     KC_VOLU         Volume Increment
 KC_AUDIO_VOL_DOWN   KC_VOLD         Volume Decrement
 KC_MEDIA_NEXT_TRACK KC_MNXT         Scan Next Track
 KC_MEDIA_PREV_TRACK KC_MPRV         Scan Previous Track
 KC_MEDIA_STOP       KC_MSTP         Stop
 KC_MEDIA_FAST_FORWARD   KC_MFFD     Fast Forward
 KC_MEDIA_REWIND     KC_MRWD         Rewind
 KC_MEDIA_PLAY_PAUSE KC_MPLY         Play/Pause
 KC_MEDIA_EJECT      KC_EJCT         Stop/Eject
 KC_MEDIA_SELECT     KC_MSEL         AL Consumer Control Configuration
 KC_MAIL             KC_MAIL         AL Email Reader
 KC_CALCULATOR       KC_CALC         AL Calculator
 KC_MY_COMPUTER      KC_MYCM         AL Local Machine Browser
 KC_WWW_SEARCH       KC_WSCH         AC Search
 KC_WWW_HOME         KC_WHOM         AC Home
 KC_WWW_BACK         KC_WBAK         AC Back
 KC_WWW_FORWARD      KC_WFWD         AC Forward
 KC_WWW_STOP         KC_WSTP         AC Stop
 KC_WWW_REFRESH      KC_WREF         AC Refresh
 KC_WWW_FAVORITES    KC_WFAV         AC Bookmarks

 Mousekey - TMK specific
 KC_MS_UP            KC_MS_U         Mouse Cursor Up
 KC_MS_DOWN          KC_MS_D         Mouse Cursor Down
 KC_MS_LEFT          KC_MS_L         Mouse Cursor Left
 KC_MS_RIGHT         KC_MS_R         Mouse Cursor Right
 KC_MS_BTN1          KC_BTN1         Mouse Button 1
 KC_MS_BTN2          KC_BTN2         Mouse Button 2
 KC_MS_BTN3          KC_BTN3         Mouse Button 3
 KC_MS_BTN4          KC_BTN4         Mouse Button 4
 KC_MS_BTN5          KC_BTN5         Mouse Button 5
 KC_MS_WH_UP         KC_WH_U         Mouse Wheel Up
 KC_MS_WH_DOWN       KC_WH_D         Mouse Wheel Down
 KC_MS_WH_LEFT       KC_WH_L         Mouse Wheel Left
 KC_MS_WH_RIGHT      KC_WH_R         Mouse Wheel Right
 KC_MS_ACCEL0        KC_ACL0         Mouse Acceleration 0
 KC_MS_ACCEL1        KC_ACL1         Mouse Acceleration 1
 KC_MS_ACCEL2        KC_ACL2         Mouse Acceleration 2

 Fn key - TMK specific
 KC_FN0
 KC_FN1
 KC_FN2
 KC_FN3
 KC_FN4
 KC_FN5
 KC_FN6
 KC_FN7
 KC_FN8
 KC_FN9
 KC_FN10
 KC_FN11
 KC_FN12
 KC_FN13
 KC_FN14
 KC_FN15
 KC_FN16
 KC_FN17
 KC_FN18
 KC_FN19
 KC_FN20
 KC_FN21
 KC_FN22
 KC_FN23
 KC_FN24
 KC_FN25
 KC_FN26
 KC_FN27
 KC_FN28
 KC_FN29
 KC_FN30
 KC_FN31
 */

Over All it was a very awesome Project, but now that It is done it is time for me to work on something new! Stay Tuned!
« Last Edit: Sat, 16 January 2021, 23:29:55 by Alectardy98 »

Offline nkapur

  • Posts: 4
Re: Custom Build for A Focus 2001
« Reply #1 on: Sat, 16 January 2021, 23:16:36 »
Awesome! writeup, very informative. You are a perfectionist!
« Last Edit: Sat, 16 January 2021, 23:21:08 by nkapur »

Offline cest73

  • Posts: 173
  • Location: serbia
Re: Custom Build for A Focus 2001
« Reply #2 on: Sun, 17 January 2021, 05:02:23 »
I feel your pain re acetone vs ABS man  :'(

Next time consider water solved PU coating for ABS? or consult the miniature makers beforehand?

(Also thin your paints!)

Looks beyond awesome  :thumb:

Offline Chichi.2610

  • Posts: 1
Re: Custom Build for A Focus 2001
« Reply #3 on: Sun, 17 January 2021, 09:44:27 »
Really helpful and amazing results! Thank you and keep us posted on your next projects!  :thumb:

Offline Maledicted

  • Posts: 2164
  • Location: Wisconsin, United States
Re: Custom Build for A Focus 2001
« Reply #4 on: Wed, 20 January 2021, 16:32:16 »
Looks great.  :thumb:

Did you end up gluing the aviator socket in place without the use of the nut that comes with? I have done the same on a few boards where there was really no good place for it besides at a seam. I imagine you built a cable or two for it?

The story was about the same for the dust cover on my FK-2001. I didn't mention it to the seller, I just drilled a hole where the nub used to be and used a nylon screw and nut and some rubber washers to reattach that side.