takashiskiのブログ

覚書の殴り書き

問題 : MX Ergoに変えてからある日を境に突然スクロールがとてもピーキーになった

問題

MX Ergoにしてから、ある日を境にスクロールがとてもピーキーになってしまった。

具体的には、PDFの表示が縮小されているので拡大しようとCtrlを押しながらスクロールをすると、1クリックしかしていないにも関わらず拡大率が非常に大きくなる。

また、Youtubeでは音量が100から0、または0から100にしか変更できないという問題も発生した。

解決策

拡大率及び音量は滑らかに変化しているので、何か悪さをしているソフトがいるだろうとあたりを付けた。

犯人は、しつこくインストール要求のポップアップを出してきたlogicool optionsであった。

画像のように、ポイント&スクロールのスムーズスクロールを無効にすることで解決した。

f:id:takashiski:20180911121051p:plain

動作に問題がないのに余計なソフトウェアを入れることはよくないことだと痛感した。

以上。

C94 メカざざむし@金西も08b 御品書き

サークル「メカざざむし」でC94に出展します。金西も08bです。

@PLHXと実質二人のサークルです。 彼の出すものは下記です。

メカざざむし [MECH-3364]

自分の出すものは昇華転写印刷のメカニカルキーボード用キーキャップです。

CherryMXなどのメカニカルスイッチが使われているキーボードにしか使えません。 Topreはステム変換器を使えば刺さります。

全てPBT DSA 白です。夜なべして作りました。人力です。

どこぞのキーボードキット販売者ではないですが、売れないと来月の請求がやばいので買ってください。

わんこキーキャップ30キー(全2種類) 5000円

自分以外絶対作らないであろう犬が印字されたキーキャップです。 アルファベットと ;,./ の合計30キーです。

秋田犬、柴犬、ダックス、フレンチブル、ゴールデンレトリバーなど様々な種類の犬を印字しました。

もう一種類はアフガンハウンド、シベリアンハスキー、ダルメシアンとなっています。記号は共通です。

頑張って印字してますけど各5セットくらいになりそうです。

キャラクターキーキャップ(いろいろ) 1個300円 偶数個で500円

許可をもらえたのでどっかで見たことあるアイコンが出てくる予定です。

おうちにメカニカルキーボードがない人は、後述の簡易ストラップか、amazonで買えるストラップを購入するとカバンなどにぶら下げていつでもスイッチを押せます。

RAISE/LOWER 1個300円 偶数個で500円

Comic Sansを使用したカラフルなRAISE/LOWERキーキャップです。

gateron緑軸/白軸キースイッチストラップ+キーキャップ一つ 500円

余ってる軸になんとなくストラップつないだらキーストラップっぽくできたので出します。おうちにメカニカルキーボードがなくても可愛いキーキャップを持つ意味が生まれましたね!

gateronの緑と白な理由はなぜか大量に余っていたからです。緑はクリック音があるタイプで、青より重いです。gateron白は押したときに引っかかりなどがないタイプで、赤軸より軽く、realforce偏荷重の小指キーくらい軽いです。

その他

間に合えばいくらか現在市販されていないフォントのキーキャップ(30キー)を持っていきます。

1uのCtrlとかAltとかも持ってきます。

ライセンス表記

当日購入者に紙面でも共有いたします。

@マーク表記は原則twitterアカウントといたします。

わんこキーキャップ

このキーキャップは @yukakuma 氏が作成したフォント yukakuma dog とComic Sans MSを使用いたしました。

hecomi アイコン

hecomiアイコンは @hecomiがデザインされました。

Gopher

このThe Go gopherは、 kemas_Ti によってデザインされました。 オリジナルのThe Go gopherは、Renée Frenchによってデザインされました。

こはくちゃんズ、大鳥こはく

© Unity Technologies Japan/UCL

自作キーボードポエム

寝る前にMFTで聞かれていろいろ考えたことをがーっと書くだけ。

何故自作するのか

そこに不満が生まれたから。現行の量産キーボードは歴史的経緯の塊なので、betterな方法はいくらでもある。ある不満を解消する方法がそこにあるから、自作する。

突き詰めると、「しゃべるよりも自然に文字入力がしたい」になる。

また基本的に不満駆動開発のため、自分くらいしか感じない/コストを払うに値しない不満の解決は自分でやっていくしかない。

なんで格子配列にするの?

構造的理由で設定された、打ちにくいだけのタイプライター準拠のずらしかたを維持する理由がない。そもそも、人間の指は直線的に曲がる構造になっている。

そして、製造の観点からは、1uと2uの2種類だけあれば原則成立する、ということがある。現行の量産品は1u,1.25u,1.5u,1.75u,2u,ISO Enter, 様々な長さのスペースバーなど揃えるサイズが多すぎる。

なんで分割するの?

「胸を開く姿勢がとれるので首や肩・背中に負担がかからない」というのがあるが、これは一段階飛ばしてると考えている。

キーが単に横一列に並んでいると、手首が曲がってつらい。この手首のつらさをなくす手段は二つあって、一つは左手分担部分と右手分担部分の間でまげて、ゆるいV字にすることで、もう一つが左右の分担で割ってしまうことだ。分割のほうがはやっている理由は、割ることでPCBやケースを小さくすることができ、安くできる、ということがあるだろう。

何故キーを減らすの?

ホームポジションから遠くて、かつ頻度が低いから。「しゃべるよりも自然に打つ」ためにはホームポジションからなるべく手を動かさないことが重要である。

ホームポジションから手を放して目視しないと触れないキーは論外。そのためF1-F12は真っ先に削られる。数字キーが残っている場合、レイヤーキーを使って、レイヤー切り替えキーを押している間は数字行がF1-F12になるようにすることが多いだろう。しかし、その数字キーすら遠い。なのでアルファベットと記号+最下段+αまで削られることが多々ある。たいていはレイヤー切り替えキーが二つ(LOWER/RAISE)とShiftキーがあるのでキーの組み合わせによって単純に見えてる部分の3倍は追加で取り扱えるキーがある。

もちろん、数字を入力する頻度が高い場合は数字キーはいらないキーではない。

おすすめの学習パスは?

現状に不満がないならやる必要がない。不満に沿った方法を考えるべきである。

しいて言うならばXD75が私のおすすめである。基板の一つのXD75reははんだ付けがいらないため、はんだ付け機材を用意する必要がない。プレート、ケース、キースイッチ、キーキャップを追加で購入すれば刺してねじ止めするだけで完成である。75キーがあるため、HHKBよりも多い機能を詰め込める。atomic_styleというほとんど現行量産配列ままの配置が選べる。そして、キーマップが自由に変更できることが念頭にあると、「このキーこっちのほうがいいな」など徐々に不満が生まれてくるだろう。そして、最終的に分割したくなるだろう。親指がぶつかって窮屈...

MFT2018で展示します

H/14-03 Self Made Keyboard in Japanに混ぜてもらって展示します。

makezine.jp

私の展示物は、最近作ってるキーキャップです。XD75に乗せて展示します。

提案としては2点です。

  1. 意外と移行コストがでかいオーソリニアな自作キーボードへの導入・学習コストを減らしたJP配列の提案
  2. ダサいダサい言われてるけどComic Sans可愛いじゃん!!!

XD75は名前のごとく75キーの格子配列キーボードです。

最近のキーキャップ活動は以下のモーメントにまとめたので気になる人は見てみてください。

twitter.com

概ねモーメントのままだけど、C94でちょっとだけ売り出す予定なので興味があったら見に来てね!

個人事業主になるときに確定申告のために準備しておきたいこと

とりあえず4点。覚書としてかく。

記帳サービスと契約する

私はMFクラウド

freeeとかそれ以外でもいいと思うけど以下の2点は満たすサービスにしたい。

  1. WEBでできる(オフライン保存でない)
  2. 金融機関と連携できる

書き方がよくわからなくても、とりあえずなんとなく自分で考えて記帳すると商工会や税務署の記帳相談をしにいくとすごい勢いで解決する。

自分で考えずに適当に書いてると、わからないがわからなくて質問もできない、目の前に大量に記帳しなきゃいけないことがあることだけわかる、という状況になる。

税金とか会計?の本を一冊読む

金を出さない限り基本的にだれも守ってくれない。自衛のために読む必要がある。

口座・クレジットカードなど金の移動する経路を分ける

事業で使う口座の中の金の出し入れは全て記帳する必要がある。

まめにやっていれば問題ないが、まとめてやる場合は生活で細かい出し入れが多いと非常に面倒になる。

事業用口座で分けてしまえば、「全て事業に関するやり取り」とわかるのでわかりやすくなる。

領収書の管理方法を決める

紙ですべて保管しなければならないことになっている。 糞めんどくさいけど節税のために必要なのでやるしかない。

とりあえず以下のものは必ず買うことをお勧めしたい。

  • A4コピー用紙
  • テープのり
  • クリアファイル
  • 書類入れ
  • 印刷機

クリアファイルは100枚単位で買ってしまうのが良いだろう。月別・記帳/未記帳で分けて管理するのがよい。

領収書の管理フロー

領収書はすべてA4サイズで管理する。 A4のものはそのまま、A4に満たないサイズのものはA4コピー用紙に貼り付ける。 大小さまざまな領収書のサイズをそろえることで、扱いやすさと見落としを減らすことが目的である。 見通しがよくなるので、レシートの束よりは怖くない。

記帳済みかそうでないかが判断つく状態にしておくのも重要。

店頭購入の場合

作業場に帰ったときか、一日の最後にA4コピー用紙にレシートを貼り付ける。余白はレシートと同じ大きさ程度とることが望ましい。また、管理の簡便化のために、日付別で用意するとよいだろう。

余白には何を買ったのかメモする。特に品名が詳細に書かれていないレシートは必ずやること。 これをやらないと後で思い出せなくて非常にめんどくさいことになる。絶対思い出せない。なんだよ部門01って。

A4コピー用紙に貼り付けたら、元気がないときは未記帳クリアファイルに入れる。元気があったら記帳して記帳済みクリアファイルに入れる。

ネット注文の場合

糞面倒なことに、紙保管をしないといけないので印刷しておくしかない。ネットの海から領収書を探すのは非常に面倒である。

注文を受け取り次第、領収書が発行できるようになるはずなので領収書のPDFをダウンロード、印刷する。

クレカ払いであればクレカ連携で読み込めるので、品名のメモだけ書いて記帳する。

最後に、記帳済みクリアファイルに入れる。

引っ越し手続きのときのあれこれ

引っ越ししないといけなくなりそうなので必要そうな手続きを書き出す。他に何かあったら教えて。

[toc]

役所系

大体平日しか受け付けていないので休みとっていかないといけない。クソ。

転出/転入(マイナンバー)

運転免許証住所変更

所得税の納税地変更届

  • 現在の納税先税務署に提出する
  • 新しい納税先では手続き不要
  • 写しをもらうために2部用意することを忘れずに

[手続名]所得税・消費税の納税地の変更に関する届出手続|国税庁

自立支援

  • 新しい受給先自治体の保健所等でやり取りを実施
  • 仕事が変わる場合は新しい保険証が必要

持ち物

  • 保険証
  • 最新の課税証明書
  • 受給証
  • 印鑑
  • マイナンバー
  • (診断書写し)

インフラ系

立ち合いが必要なのは退去時立ち合いくらいだと思う。

退去立ち合い

水道

ガス

電気

インターネット

  • 大体期間縛りがあるので違約金がいる...
  • 回線が引き込み済みであっても、大手プロバイダはアカウント発行まで2週間程度時間かかるので引っ越し一月くらい前から新しい契約考えないと入居後にしばらくネットがつかえない。クソ。
  • 繋ぎのプロバイダに、アカウント即発行してくれる府中インターネットがある。基本的にはクソ遅いのでひと月くらいのつなぎにのみ有効。

クレジットカード

  • 住所変更してないと転送不可でどっかとんでいったりする

郵便物

たいていの郵便物は郵便局への転居届で転送される。ただし、転送不可の郵便物が届きそうなクレカなどはきっちり住所変更すること。

ヤマトの荷物はヤマトのメンバーズに加入しておくと転送してくれることがある。佐川はだめっぽい。

楽天はクソ。明示的に会員情報を変更しないと旧住所に荷物送ってしまう。

amazonは注文したときで変更受けられる。

郵便局

e転居

ヤマト

amazon

楽天

ヤフーショッピング

モノタロウ

aliexpress

その他会員登録したもの

  • 大体はDMだとか会員証だとか送ってこないし、送ってきても転居届出してれば届くし、発送時に住所聞かれるので思い出したときに変えればよい

ロータリーエンコーダーを使う

ロータリーエンコーダーを使うことになった。ライブラリを使うほどではないだろうということで自分で書いたけどなかなかめんどくさかった。

ロータリーエンコーダー

くるくる回すとカチカチ言いながら無限に回るやつ。

www.marutsu.co.jp

接点が二つずれておいてあるらしい(AとB)。 ずれていることにより正転・逆転でハイローの立ち上がりタイミングがずれるので、それを監視して、正転もしくは逆転に1段階分動いたと判断する。

一段階回すと以下の図のように立ち上がるらしい。1がハイ、0がローとする。

f:id:takashiski:20180630212700j:plain

考え方

AかBに変化が生じたときに、前の状態に対して今の状態がなんであるか、を読むことで状態が判断できる。 例えば、平常時は A : 0, B : 0だが、正転するとA : 1, B : 0になる。これらをそれぞれ組であらわすと、それぞれ2ビットで表現できる([0,0]->[1,0])。上位2ビットを前の状態、下位2ビットを現在の状態にすることで4ビットで表現できる([0,0,1,0])。

上の図を使って状態を確認すると、正転逆転それぞれ4状態ある。

状態を常に監視してもよいが、マイコンには割り込みという便利な機能があるのでせっかくだから使ってみる(使ったことなかった)。

割り込み

特定のピンの状態を監視して、指定した変化が起きたときにだけ特定の処理を呼ぶ方法。Arduinoだと、setup内でattachInterrupt(digitalPinToInterrupt(pin),ISR,mode)を呼ぶことで設定できる。

https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/

注意点としては2点、使用できるピンとISRだ。

ISRは制限がいくらかある。例えば引数と戻り値が設定できない、delayやmillisが動かない(らしい)などである。

使用できるピンは非常に大事である。上記URLから確認してほしい。

UNOは2,3のみ、MEGAでも2,3と4ピンしかない。これ以外のピンを指定するとどれだけ待っても永遠に動いてくれないので辛い。

また、pinは数値で指定してもよいが、割り込みで使う番号とピン番号が異なるのでdigitalPinToInterrupt(pin)で変換して突っ込むことが推奨されている。対応表は上記URLの最後に書いてある。2,3ピンに関してUNOとMEGAは一緒の割り込み番号だが、Leonardoは逆である。歴史的理由らしい(For historical reasons)。

コード

ざーっと書いてたぶん動いた。A,Bどちらかの状態が変化するごとに正転/逆転の判定をして、カウンターを加算/減算している。

単純に、割り込み受けて条件判定だけをするとAとBで同じ状態を見てしまうどころか同じピンに対する割り込みで同じ状態なのに割り込まれてる。

対策として、割り込み検出しても、前の状態と現在の状態が同一だったらreturnするようにした。

for using rotary encoder on Arduino without librar ...

反省・課題

常に4ずつ加算/減算されるはずなのだが、たまに2ずれる。早く回すと取りこぼしがあるっぽい?

もうちょっとうまい状態判定の方法がありそうだけどよくわからなかったので愚直に書いた。最低でもifかswitchで書くべきだった気がする。

初期化関数と割り込み関数用意してライブラリ化すべきなきがする。

チャタリング対策はコードでは最小限にして、回路で工夫したほうがいい気がする。コンデンサ突っ込むとか。

8ビットのうち上位4ビットがどうせ余っているので、prevは<<2した上で+=currentしてもよかったかもしれない。そうすれば過去3状態も監視できる。

どうやら4単位で動くのはクリックタイプで、ノンクリックタイプもあるらしい。

最初、「ロータリーエンコーダーってなんだ...なにもわからない...」というときに色々な実装例をみたけれども、割り込みで片側のピンしかみてない、そもそも割り込み使ってない、一部状態しか監視していないなど色々なバリエーションがあった。流石にごっそり間引くのはよくないと思う...

参考文献

Arduino Unoでロータリーエンコーダを使う – 桜のはなびらどっとねっと

kokensha.xyz

ロータリーエンコーダーを使ってみる - 忘れないページ

www.arduino.cc