pimaokunです

情報と趣味についてブログを書きます

Mac book Pro (2017)のキーボードを壊して直した(?)話

こんにちは。

先日、PCのキーボードの塵を掃除しようとしてキーボードのEキーとOキーを壊しました。同じ境遇の方がいるのではないかと思い、対処を載せておきます。実際にやってみる場合は自己責任でお願いします。

結果だけ見たい方は結果をクリックしてください

 

 

◯PCの情報

Mac Book Pro (2017)

・キーボードの型番⇨A1708

キーボードの型番は筐体裏に書いてあります。

◯あらまし

上:エアダスターを使用して埃、塵を取り除こうと思ったが、全然吹き飛ばせなかった

中:キートップの外し方を検索。簡単に取れそうなのでやってみた

下:「E」キーと「O」キーを壊した

Mac Book Proのキーってそもそもどんな物だ?

僕の購入したMBPは2017モデルで、第二世代バタフライキーボードです。このキーボードは異物に対して耐久性が疑問視され、色々あったそうです。

バタフライキーボードについて僕はあまり明るくないのですが、静音化や薄型化などを達成したキーボードらしいです。

構造はその名の通り蝶の羽のような構造をしており、キートップのどの部分を押しても一様の打鍵感があります。

f:id:huna8203:20200316224356p:plain

具体的な構造を美術3の実力で描いてみました

まずは基盤側

f:id:huna8203:20200316225634j:plain

次にキートップ

f:id:huna8203:20200316225635j:plain

キートップ側は画面上部のようになっており、基板側に上からはめることでパチっとはまります。下記の通りです。

f:id:huna8203:20200317005007j:plain

キートップと基盤(?)は非常に簡易に接続されています。そのため、キートップ上部(下の画像でいう右側)から薄い物(ある程度の剛性が必要)を差し込み、てこの原理で比較的簡単にこれを外すことができます。詳しくは検索してみてください。

⚠︎外す際は、必ずキー上部から外してください。ぼくの「O」キーのように悲惨な状態になります。

以下に、外す際に動作を確認できたテコ達を紹介します。

・快活クラブの会員カード

QUOカード

ヤマダ電機のポイントカード

・先っちょ薄めのドライバーみたいなやつ

・内科の診察券

逆に、外せなかった物も紹介しておきます。

・肉マイレージカード

e-amusement pass

・その他若干厚めのもの

 

◯どのような破損の仕方をしたか

・「E」キー

取り外しの際にキートップ右上の部品が外れず、ぐりぐりしたらキートップ右下部が壊れた

f:id:huna8203:20200316223601j:plain

こんな感じです。引っ掛ける部分が破損しました。バタフライキーボードの構造上、キートップ下部の部品が壊れると、キートップ上部を押すごとにキーが浮いて取れそうになります。やっちまったあああああああ 

・「O」キー

一度取り付けたはいいものの、上下を反対に取り付けており、2度目に逆からテコの原理を適用、基盤側ごと壊す

f:id:huna8203:20200308184319j:plain

下側の棒状の部品2個が虚空に消えました。上下対称なの完全に忘れてました。

◯対処

・「E」キー

ヤフオクにて運よくキートップを発見、基板側の破損は無かったため、そのままはめて終了

「O」キー

同じくヤフオクにて運良くキートップを発見。「E」キー同様にはめようと思ったものの、基盤側が壊れていることに気づき、絶望

◯「O」キーの修復

真面目に絶望して全身から変な汗が出てきたものの、暇な大学の春休みを利用してどうにか修理できないかと思案し、まずは原理を考えました。実験レポートかよ。

いろいろ調べた結果、先に述べたような構造が見えてきたのですが、 要は下の部分が棒状の部品にくっついてりゃいいんだろと思い、安直にのりでくっつけることにしました。

f:id:huna8203:20200317003807j:plain

くっつけるイメージです

 

◯スティックのり

f:id:huna8203:20200316234739j:plain

のりと言えばこれでしょと、小学生の時お世話になった消えいろPiTS君

爪楊枝を使用してのりを適量取り出し、キートップ下側に塗布します。それをそのままはめて動きを確かめます。

f:id:huna8203:20200317000200j:plain

◯結果

打鍵感が著しく損なわれたが、タイピングできないこともない。キー上部を押してもキーは浮かないが、入力はできない

・利点

 のりの付け直しが容易にできる

 安価

・欠点

 キー上部を押すことができない(おそらく粘着力の問題)

あまりオススメはしないが、出先でスティックのりと爪楊枝しかない時に壊れたらこれを推奨

塗布の仕方と粘着力によっては、キー上部も押せるようになるかも(僕はできませんでした)

 

◯木工用ボンド

f:id:huna8203:20200316234750j:plain

粘着力が高まりました。

◯結果

割とバタフライしているし、キー上部を押しても問題なく動作する。若干打鍵感が損なわれます。

・利点

 塗布しやすい

 まあまあ修復した感じになる

・欠点

 キーを打ち過ぎるとキーが取れる(3日くらいはもつ)

寿命が短いものの、メンテナンスしやすいので応急処置的にはアリな選択

 

◯アロンアルファ

f:id:huna8203:20200316234822j:plain

真打登場。

◯結果

打鍵感の損ないは殆どない。キー上部を押すこともでき、耐久性もバツグン。

・利点

 速攻くっつくのでボンドやスティックのりと違い待つ必要がない

 ほぼ元の打鍵感になる

・欠点

 塗布が非常に難しい

 くっつける場所を間違えると終わる

 部品の材質の関係で溶けてないか不安になる

 500円くらいした(セブンイレブン)

アロンアルファを所持していて、ミスしない覚悟がある方は圧倒的にこの方法がオススメです。塗布する量ですが、殆ど目に見えないレベルの塗布量で十分にくっつきます。寧ろ塗布してからいかに速く正確にキーをはめることができるかどうかが問題なので、練習してから臨みましょう。

 

◯結果

・アロンアルファで物理的にキーをくっつけることにより修復

・応急処置として木工用ボンドの選択はアリ

・基盤が壊れていなければキートップの交換のみでOK

・キー外してエアダスター使っても大してゴミは取れない

結果だけ見ればアロンアルファ一択なのですが、難易度が高いので、一度木工用ボンドでくっつけ、はめてからキーをくっつける感覚を身につけておくと良いです。また、保証期間内であれば、おそらく有償になりますが修理を依頼した方が(壊すより)良いでしょう。相当高くつくようなので今回はのりでくっつけました。

なんてことない内容ですが、同じようにキーボード掃除をしようとしてキーを破損した方が絶対いると思うので、よろしければ参考にしてください(責任はとりません)。

 

ありがとうございました。

 

 

 

 

 

 

 

 

 

 

 

 

checkioを少しやってみたやつ

checkio

py.checkio.org


の(自分の)解答を忘れないように残しておきます。

Home編
・House Password

def checkio(data):
    if len(data) < 10:
        return False
    if data.isalpha() == True:
        return False
    if data.isupper() == True:
        return False
    if data.isdigit() == True:
        return False
    if data.isalnum() == True:
        if data.islower() == False:
            return True
    else:
        return False

・The Most Wanted Latter

def checkio(str):
    count = []
    str = str.lower()
    digit = [int(i) for i in range(0,26)]
    alpha_list = [chr(i) for i in range(97,97+26)]
    new = zip(digit,alpha_list)
    judge_dic = dict(new)
    for i in alpha_list:
            i = str.count(i)
            count.append(i)
    jud = count.index(max(count))
    result = judge_dic[jud]
    return result

・Non Unique Elements

def checkio(data):
    mx = max(data)
    mi = min(data)
    for i in range(mi,mx+1):
        if data.count(i) == 1:
            data.remove(i)
    return data

大体のothersの解答がワンライナーだったりするので、技量がつけばやってみたいです。
O'Reilly編までは一応やりました。

ブログをはじめた

こんにちは。

この春から大学2年生なのですが、情報系の学科に進んだ+春休みが暇だったので、pythonを学び始めたのですが、やったことをポンポン忘れそうなのでブログに残すことにしました。

将来見返して成長を感じたい(成長すれば)。

今はcheckioという所で勉強してます。

公式

checkio.org

とにかくよわよわな自分なのでelementaryから地道にやります。