Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20190712 M3 TechTalk キーキャップ作る話

tshohe
July 12, 2019

20190712 M3 TechTalk キーキャップ作る話

tshohe

July 12, 2019
Tweet

More Decks by tshohe

Other Decks in How-to & DIY

Transcript

  1. キーキャップ作る話
    2019/07/12 M3 TechTalk 自作キーボード LT

    View Slide

  2. About me
    ● 名前: Shohei Takahashi  @tshohe1
    ● キーボード遍歴:
    ○ Majestouch2 茶軸
    ○ HHKB Lite2
    ○ HHKB Professional JP
    ○ 自作キーボード (New)

    View Slide

  3. 自作キーボード構成
    ● Kit: Helix 5行
    ○ 分割式
    ○ 入手が容易だったからという理由
    ● Switch: Gentron Silent 赤軸
    ○ とにかく静音性重視
    ● KeyCap: DSA 50 dye-sub keycaps for cherry mx switch
    ○ 適当にAliExpressで見つけたやつ
    ○ 59 keys
    ○ … 59 keys?
    ○ (6 * 5 + 2) * 2 = 64 ...

    View Slide

  4. 足りない...!!!!

    View Slide

  5. 作ってみる

    View Slide

  6. キーキャップの種別
    ● 軸(ステム)の形状
    ○ Cherry MX型
    ■ ただの十字
    ■ 多少ゆるくても許される
    ■ 作るのがめっちゃ楽そう
    ○ Topre型
    ■ 丸いのに差し込むタイプ
    ■ サイズ合わせるのが難しそう
    ○ Novatouch型
    ■ 謎
    ● キーの形状
    ○ DCS:場所によって形が違うやつ
    ○ DSA:低めで全て同じ形
    ■ サイズ一緒なので一つ作れば使
    い回せる
    ○ SA:高め全て同じ形 等

    View Slide

  7. OpenSCAD
    ● https://www.openscad.org/
    ● コードで3Dモデルを書けるやつ
    ● VCSとかで管理可能
    ● 単純な構造ならすぐ書ける
    ● ベースの形状は下の記事を完全にパクり
    参考にしました
    ○ https://qiita.com/zk_phi/items/ab99315ebaef6
    6e84aa0
    $fs = 0.1;
    stem_outer_size = 5.5;
    stem_cross_length = 4.25;
    stem_cross_h = 1.35;
    stem_cross_v = 1.35;
    difference() {
    cylinder(d = stem_outer_size, h = 6);
    translate([- stem_cross_h / 2, - stem_cross_length / 2, 0])
    cube([stem_cross_h, stem_cross_length, 15]);
    translate([- stem_cross_length / 2, - stem_cross_v / 2, 0])
    cube([stem_cross_length, stem_cross_v, 15]);
    }
    module keycap_outer_shape (key_bottom_size, key_top_size,
    key_top_height) {
    hull () {
    translate([0, 0, key_top_height])
    cube([key_top_size, key_top_size, 0.01], center = true);
    cube([key_bottom_size, key_bottom_size, 0.01], center = true);
    }
    }
    difference() {
    difference() {
    keycap_outer_shape(18, 12.5, 7.5);
    keycap_outer_shape(15, 9.5, 5.5);
    }
    translate([0, 0, -2.5])
    difference() {
    sphere(20);
    sphere(12.5);
    }
    translate([0, 0, 67])
    sphere(60);
    }

    View Slide

  8. difference() {
    keycap_outer_shape(18, 12.5, 7.5);
    keycap_outer_shape(15, 9.5, 5.5);
    }

    View Slide

  9. difference() {
    difference() {
    keycap_outer_shape(18, 12.5, 7.5);
    keycap_outer_shape(15, 9.5, 5.5);
    }
    translate([0, 0, -2.5])
    difference() {
    sphere(20);
    sphere(12.5);
    }
    }

    View Slide

  10. difference() {
    difference() {
    keycap_outer_shape(18, 12.5, 7.5);
    keycap_outer_shape(15, 9.5, 5.5);
    }
    translate([0, 0, -2.5])
    difference() {
    sphere(20);
    sphere(12.5);
    }
    translate([0, 0, 67])
    sphere(60);
    }

    View Slide

  11. 完成

    View Slide

  12. こんな感じ

    View Slide

  13. View Slide

  14. まとめ
    ● キーボード作りは楽しい
    ● が、未だに全然慣れない
    ○ キーマップ変えないとちょっと会社で使うの無理だなと思い
    はや数ヶ月...

    View Slide

  15. おわり

    View Slide