Git Product home page Git Product logo

keyball's Introduction

Keyball Series

Keyball61

Keyball series is keyboard family which have 100% track ball.

Keyboards in the family are:

  • Available
    • Keyball39: split + 39 keys + a track ball
    • Keyball44: split + 44 keys + a track ball
    • Keyball61: split + 61 keys + a track ball
  • Unavailable
    • Keyball46 (first one!)
    • One47

Where to Buy

Keyboard Yushakobo / 遊舎工房 Shirogane Lab / 白金ラボ
Keyball39 https://shop.yushakobo.jp/products/5357 https://shirogane-lab.net/items/64b8f8693ee3fd0045280190
Keyball44 N/A https://shirogane-lab.net/items/64b7a006eb6dbe00346cd0c5
Keyball61 https://shop.yushakobo.jp/products/5358 https://shirogane-lab.net/items/64b8ed191435c1002bc4cd30

Build Guide

Firmware

See document for firmware source code.

Pre-compiled Firmwares

(TO BE DOCUMENTED)

keyball's People

Contributors

choplin avatar ellreka avatar futabooo avatar gs1068 avatar koron avatar kyoh86 avatar misawa avatar momocus avatar mtsmfm avatar ryo33 avatar tokuhirom avatar yinouet avatar yowkees avatar yutotnh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

keyball's Issues

ビルドガイドに目次が欲しい

ビルドガイドの最初に目次が欲しいです。

丁寧に書かれて工程数が多いので全体を概観する意味と、
作業中断再開時に必要な項目を素早く参照できるようにする意味で、
ビルドガイドの先頭部分にインデックスがあるとさらに便利になりそうです。

Keyball46 failed to resume from sleep

https://twitter.com/kaspinMTH/status/1487649434263785472

windows 10 proを使用しているのですが、スリープモードから復帰した際、keyball46を認識しません。OLEDにkeyballのロゴが表示された状態になります。 TRRSケーブルを抜き差ししたら認識します。
どうすればスリープ復帰した時点でkeyball46を認識しますか?

QMK由来の問題か、Keyballとの合わせ技の問題か、まずその切り分けが必要。

TRSケーブルを繋がないとボールが動かない

ボールのある側だけをUSBにつないで
TRSをつながないとボールが反応しない。

シリアル通信成功後に光学センサーをスキャンしていることが原因。
TRSを繋いでいない場合はシリアル通信が決して成功せずスキャンしない。

スキャンしてからシリアル通信をするように変更する。
またボールのhandness判定も問題で左の片側だけだとポインタが動かないのも併せて修正する。

ボールの有無で2種類のファームを作る

ボールの有無=基板の種類で2種類のファームを作る。

名前は rev1/ball および rev1/noball とする。

それに先立ち LAYOUT の整理をしたほうが良い。
これについては別途 issue を作ります。


Discussed in #17

Originally posted by koron June 21, 2021
いまボールの有無(基板の違い)によらずファームは1種類ですが、これを分けたほうが良いのではないかとのアイデアを得ました。思考の推移は以下の通りです。

  • 左右自動判定やボールの有無の自動判定をやりたい

  • ボールの有無の自動判定は何らかの方法でできそう (PMWにResetなげてレスポンスを見てみる)

  • 左右の自動判定は無理そう

    ProMicroの未使用ピンがない & 異なる基板で未使用マトリックスが異なるため、1種のファームで2種の基板の左右を判定する(4通り!)ほどよい手段がない。ボールの有無を判定したのち、それに応じてチェックする未使用マトリックスを変えることはできるかもだが…複雑であまり好ましいアイデアとはいえない。

  • ならいっそPCB毎に別のファームを用意したらどうか(名前の例: rev1/onball, rev1/offball)

    名前はあとで変更可

  • これなら未使用マトリックスで左右判定できる

  • ファームウェアのサイズ削減にもつながり一石二鳥

    • offballはPMWのファームがまるまる要らなくなる(大きな効果)

    • onballはトラックボールの有無判定が要らなくなる(小さな効果)

    • offballにだけviaを入れてUSBを繋ぐ(masterにする)ようにすると、onballからviaを消せてファームに余裕ができるのでは?

      VIAはUSBを繋いでるほうだけで良いはず。TRRSの通信内容はマトリクスの転送やRGB LEDのタイミング同期だけでVIA固有のものはない

  • 判定に使うマトリクスは onball が F7, B5 で offball が F6, B5 を予定

    • これはonballが右手の default キーマップでは MBTN1 と MBTN2 に相当
  • rev1 は引き続き自動判定なし、トラックボール側にUSBを接続する&左手ボールの場合は適切なファームを使う、で使える

keyball39の動作について

先日、遊舎工房でkeyball39を購入し、制作しましたが、キーの動作を確認したところ、3つのキーを除く全てのキーが反応しませんでした。
半田付けが完全かはわかりませんが、工房の方に電気が通るか確認していただいたところ、通っているとのことです。この状態でほとんどのキーが反応しないとなると、その方だと原因が特定できるかわからないので、こちらで相談した方が良いとご提案いただきご連絡差し上げました。
以降の対処についてご指示を頂ければ幸いです。よろしくお願いします。

`LAYOUT` マクロの修正&整理

related #18

今の LAYOUT マクロにはいくつか問題があるので修正したほうが良いです。
修正内容は以下の通り。

  • 右側ボール、左側ボール、ダブルボール、ノーボール(これいる?)の構成に向けてそれぞれ LAYOUT を用意する

    命名例: LAYOUT_rightball, LAYOUT_leftball, LAYOUT_doubleballs, and LAYOUT_noballs

  • LAYOUTLAYOUT_rightball のエイリアスとする

  • 各レイアウトで割当不可能なキー隠す

    例: 右側ボールにおける左の F6, B5 と 右の F7, B5

    handiness の自動判定を考慮すると使えないキーにはキーマップを設定できないほう良い。

  • LAYOUT_kc の廃止

    MO(1) などを記述するのにわざわざ KC_* なキーコードを定義する必要があり、QMKの流儀とは著しく異なる。多少手間でも KC_Q などはそのまま書いておいた方が良い。qmk c2json や json2c のことを考えるとあまり良いアイデアとは言えない。

    • 既存の LAYOUT_kc を使ってるキーマップを前述の LAYOUT_rightball もしくは LAYOUT を使ったものに置き換える

LEDのマーキングが判別しにくいのをフォローする

製造時の個体差・誤差かもしれませんが
PCB上のLEDのマーキングがパッドに近く判別しにくかったです。

対処法としては以下が考えられます。

  • 次回製造時に線描だけでなく、少し(1mmくらい?)離れた位置にドット等を追加する

  • 全体を写した写真にマーキングの意味をアノテーションする

    アノテーションに使う画像の1候補

Support RGB_MATRIX

これは何か

キー操作と連動した LED アニメーションを利用することが可能になります。

課題

RGB_MATRIX_ENABLE = no      # Enable RGB_MATRIX (not work yet)

rules.mk にも書かれていたとおり現状 RGB_MATRIX への対応が未実装だがたまたま成功例を発見しましたので共有します。

ref: https://note.com/co_ke/n/nf89d0de0d718

Scroll snap feature

  1. Snap scroll with H or V at first. (lock to an axis)
  2. Free the lock if rotate a trackball for another axis with some amount

Keyball61 firmware

  • duplex matrix scanner
  • new PMW3360DM (optical sensor) driver
  • new left right communication
  • declare combination by layout options in VIA
  • configurable CPI
  • scroll mode keycodes
  • configurable scroll divider
  • pack many features in VIA firmware
  • brush up
  • test (QC)
  • document

Question: Upstreaming with QMK?

While hacking on the firmware of my keyball61, I have seen that there are a few components that are self-implemented. Remarkable this is the support for the pmw3360 sensor and the mouse key handling. Is there any reason why these are implemented differently from what upstream QMK provides?

I have managed to build a firmware using the upstream drivers. It looks like it"s working fine. Is there interest in a pull-request for such a change?

In addition I would like to to see support for the keyball boards in upstream QMK. I think that would simplify firware builds and increases visibility of these great keyboards.

Scroll_modeへの入り方について

@koron
公開されましたKeyball61のVIA対応ファームウェアを使用してみてのご提案になります。REMAPを使用してみました。
新しいファームウェアでは、"SCRL_MO"が追加され、これを押下中にスクロールモードに入ることを理解しました。

私が以前より使い慣れたキー配列ですと、左手親指キーの外側キーは、HOLDでLayer3=scrollモードになり、TAPでかな入力になるように使用していました。これと同じキー配置にしようと試したところ、"SCRL_MO"はHOLDに設定できないようです。@yoichiro さんに伺ったところ、HOLDに指定できるキーはQMK_Firmware側で限定されていたような、、との回答でおそらく出来ないようです。

そこで、新設の"SCRL_MO"は残したまま、Layer3に切り替え中にScrollモードとなる仕様を復活させるのはどうでしょうか?
もし、「Layer3とスクロールモードの連動で問題が発生したために"SCRL_MO"を新設した」というような事情があるようでしたら、作戦考えたいと思いますのでお教えいただければ幸いです。

大変お手数ですが、ご検討いただければ幸いです。

LEDの点灯順序を明示する

LEDの点灯順序(配線順序)をビルドガイド中に明示してあると助かります。

SK6812mini-Eは慣れるとハンダ付けの失敗もそうそうしませんが
逆に言えば慣れない人はやはり失敗します。
そのような時に番号がふってあれば
どのLEDに問題があるのかが伝えやすくなります。

また少し慣れた人であれば配線順序がわかれば
それをもとに不良個所を推定でき自己解決しやすくなるでしょう。

左右のうちトラックボールがある方にUSBを接続する制限があることを付け加える

これはファームウェアの熟成で解決されることかもしれませんが、
現在はトラックボールがある方をmaster(=USB接続がある)にしなければ
トラックボールが機能しません。

そのことをビルドガイドに書いておけば、
いざ完成してトラックボールをテストしてみよう
となった時のトラブルが減ると予想されます。

Remap Review Result

Hi, thank you for submitting the review request for this keyboard. However, we have rejected the request, because the PRODUCT value does not match the value written in the config.h file. For instance, you filled Keyball64 in to the review request form, but the value in the config.h file is keyball. You need to fill keyball in to the review request form, or you need to change the PRODUCT value in the config.h file to Keyball64. Then, please resend the review request.

こんにちは、このキーボードについてレビュー申請を送っていただきまして、ありがとうございます。しかし、そのリクエストは既にリジェクトさせていただいております。理由といたしましては、PRODUCT値が config.h ファイルに書かれた値と一致していません。具体的には、レビューリクエストフォームに Keyball64 と記入されていましたが、 config.h ファイル内の値は、 keyball でした。レビューリクエストフォームに keyball と記載していただくか、もしくは config.h ファイル内の PRODUCT 値を Keyball64 に変更していただく必要がございます。その後、レビューリクエストを再送信していただけますと助かります。

Left keyball PCB doesn't work

Hi, I followed the tutorial for keyball44.
I'm in the testing part. I can't make the left PCB (the one without trackball) to work.

I can write the hex on the pro micro, so that makes sure it works; but I just don't know what else could I do to test. I finished the trackball right hand side and everything works correctly.

Any tips would be helpful 🙏

This are the things I did:

  • I tried to click reset button on PCB twice. Doesn't work.
  • I tried to jump ground and reset while pro micro mounted on PCB. Doesn't work.
  • if I do the above when the pro micro isn't attached to the PCB, I can write the hex. Once I insert it again, I can't make it work.
  • I switched pro micro's and both work correct on the right hand side (the one with the trackball)
  • I checked all the diode continuity (all working)

I also sent an email through the contact mail from shirogane-lab.com if you need more information from the purchase I can provide.

Thank you!

VIAのPRODUCT_IDについて

VIA対応をするために、右きき版と左きき版のjsonファイルを作成しました。
VIAを起動した際に自動でどちらが接続されているか判別する方法として、PRODUCT_ID=0001なら右、0002なら左と判定しようと考えています。
今はmake前にrev1/config.hの中を1→2と手で書き換えていますが、これが自動で切り替わるようにPRODUCT_IDの位置を変更できると嬉しいです。
それか別のアイデアがあればご提案いただければと思います。
ご検討いただければ幸いです。

QMK firmware update: ファームウェアが破壊的なアップデートをして昔のプログラムがエラーになる

http://www.neko.ne.jp/~freewing/hardware/qmk_update_program_with_newest_firmware_2022/
As I found something like this article happen, and in the end, this gives such a error:

…\qmk_firmware/keyboards/keyball/lib/keyball/keyball.c:499: undefined reference to `register_button'
| collect2.exe: error: ld returned 1 exit status
|
make[1]: *** [builddefs/common_rules.mk:267: .build/keyball_keyball44_default.elf] エラー 1
Make finished with errors
make: *** [Makefile:414: keyball/keyball44:default] エラー 1

`register_button' is not defined.
How this suppose to work? And how can it be fixed?

Trackball not working with qmk>= 0.18.0

The last qmk version which works well with my keyball39 is 0.17.9.

There are some minor changes needed to compile with qmk 0.18.0, e.g., RESET to QK_BOOT migration, but I still managed to compile keyball firmware with qmk 0.18.0. However, after flashing the firmware, the movement of the trackball is not recognized at all. Maybe it's related to the pointing device improvements mentioned in the changelog.

Why update?

There would be a nice feature coming in the next breaking release of qmk that allows automatically activate the mouse layer when the mouse cursor is moved (qmk/qmk_firmware#17962).

Btw, as #126 pointed out, SAFE_RANGE has been changed. From my experience, the special keycodes of keyball should be +1 (e.g., 0x5DA5 -> 0x5DA6) in qmk 0.16.x. And it should be +8 (e.g., 0x5DA5 -> 0x5DAD) in qmk 0.17.x.

keyball61 、トラックボールの速度が変わる

タイトルを変更いたしました。

keyball61を購入し、組み立てが完了しました。
一通り問題なく使えてはいるのですが、一定時間(30分ほど)使っていると、トラックボールの速度が半分くらいになってしまうことが頻発しています。

その度に、resetを行うと、元の速度に戻るのですが、こちらの原因は何か心当たりがありますでしょうか?

よろしくお願いいたします。

stl files for the trackball mount

Since this has been out of stock for such a long time, I am looking at printing everything myself. I assume the trackball PCB in keyball46 is universal. But, it seems like there is no 3D printer files for the trackball mount.

Am I missing something?

auto shift doesn't work in remote desktop: adjust tap code parameters

One reports me that auto shift does't work correctly in Windows's remote desktop with Keyball61.
And I found an issue in QMK qmk/qmk_firmware#13708

It says TAP_CODE_DELAY work for the case.
But I don't try it yet.

Additionaly, there are some version inconsistencies in the issue.
It says 0.13.x has issue. But I verified that 0.15.x is not affected, and 0.16.x is affected again.

Anyway, it would be better to start TAP parameter adjusting.

KC_BTN1~8を使えるようにする

https://twitter.com/Ryo46671803/status/1414767783083008002

左右クリックが設定できない😭
「Mouse Btn1」と「Mouse Btn2」を設定しても実行されない。

サイズ削減のためにMOUSEKEYが無効なので
KC_MS_BTN1~8 (=KC_BTN1~8) が解釈されていない。
代替として自前でKC_MBTNを定義してるが
これではVIAなどで設定が容易ではない。

おそらくVIAはKC_BTNを設定していると推測される。
なのでKC_BTNを独自に解釈すれば対応できるはず。

修正のための参考コード。
まだテストはしていない。

koron/qmk_firmware@fa08f61

VIAとフルRGBLIGHTの両サポート

初版リリース後に向けてのissueです。

VIA+トラックボールドライバ+フルRGBLIGHTでは容量がオーバーしてしましまいます。

これを何とかできないか検討したいです。

スクロールモードから復帰したあと、中クリックの1クリック目が反応しない

・0x5DADを押してのスクロール
・Layer3に移行してのスクロール
どちらの場合でも、復帰後中クリック(MouseBtn3)の1クリック目が反応しない
2クリック目以降は反応する。

備考:
復帰後にMouseBtn1,2をクリックしたりしても変わらず、
MouseBtn3は2回目以降のクリックしか反応しない

私の環境だけでしたら申し訳ないのですが、ご報告までに。

show more info on OLED

表示したいもの

  • トラックボールのセンサー値
  • タイプしたキー

printf を使っちゃうとファームサイズがかなり増えてVIAとの共存が不可になる。
またキー表示内容も同様。工夫の余地あり。

Support current version of QMK

The QMK configuration in this repository is implemented using a QMK version from 2-3 years ago. It does not work with the current version of QMK.

For users that have advanced QMK configuration, they have to compile the firmware from source, instead of REMAP/VIA. This is currently not possible unless we drop down to a much older version of QMK.

Is it possible to update the QMK config to be compatible with the newer versions of QMK? Starting point would be defining a info.json file. Thanks!

PS. I believe QMK now supports pmw-3360 out of the box.

ダブルトラックボールにおけるポインタのhandness設定

現在、ダブルトラックボール構成ではUSBを繋いだ側がポインタ、
繋いでいない側がスクロールとなっています。

これをconfig.hで左右により固定できるようにします。
ただしdual ballで使ってる人はほぼいないので後回し。


When you use Keyball with double ball combination,
a ball on USB connected side is treated as mouse move.
And other side ball is scroll wheel.

We make it configurable by config.h or so: depending right or left.
But this is low priority because there are few peoples who use double ball.

特定キー反応無し、はんだ盛り、ダイオード確認済

Dキーが反応しません。何度か症状が再発しており、その度にはんだを盛ると解決しましたが、今回は解決する兆しがありません。
前はキーを強く押すと認識されましたが、今回は認識されず

ピンで導通確認後は認識されるようになる、といった謎が多い不具合が発生しています。どうしたら治るでしょうか?考えうる原因か改善策がありましたらご教示頂きたいです。

keyball61 rev2 トラックボールをつけるとトラックボール側(右側)の横四つのキーが反応しない

突然すみません。先日keyball61を遊舎工房にて購入し、トラックボールICを壊してしまったためshirogane labより購入させていただいたものです。届いたので取り付けたところ、写真にある通り4つのキーが反応しなくなってしまいました。トラックボール基盤を指す前まではちゃんと使えていました。解決する方法がわからないので教えていただけると幸いです。
IMG_1992
IMG_1991

Added to upstream

These really should be PRed to upstream QMK.

If you need any help with that, I'd be more than willing to help out.

レイヤー3への切り替え不具合

最新ファームウェアにてレイヤー3への切り替えが出来ていないかも知れません。
レイヤー3はRGBの変更の他、トラックボールをスクロールに変える機能を持っています。
デフォルトキーマップでは左手親指の一番内側のキーに割り当てられています。

ご確認いただければ幸いです。

can't work with USB hub (docking station)

USBハブに接続して使おうとしても、すべてのキーとトラックボールが動作しません。

USBハブを使わず、PCに直接繋いだりtypeC-typeA変換ケーブルに繋いだりすると、正常に動作します。
普通のマウスはこのUSBハブに接続しても動作しますので、USBハブの問題ではないと思います。

通常繋いだ方のKeyballにはキーやボールの情報が表示されると思いますが、USBハブに繋ぐとKeyballのロゴが表示されます。この現象と関連がある気がしますが、いかがでしょうか?

環境

Add pictures of keyboard models

When landing on the repository, there are no images in the README.md, so it is difficult to understand at a glance what the keyboards are like. It would be very helpful to have pictures embedded in the readme.

Unit of DXF files

The provided DXF files are (per design) untiless. They do not seem to be in millimeters nor inch. What is the unit of these files?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.