smzht / fakeymacs

Emacs-like key bindings for Keyhac
MIT License
111 stars 49 forks source link

スペースキーで youtube動画 の停止/再開ができない #34

Closed sarami55 closed 9 months ago

sarami55 commented 10 months ago

タイトル通りなのですが、動画を一時停止したくても、スペースキーではできないようです。 いままではできていたと思うのですが。

fakeymacs_version = "20231019_01"

keyhac 単体だと 停止/再開はできます。 当然、フックOFFでもできます。

elfham commented 10 months ago

私も最近同じ症状になりました。 YouTube 動画再生だとスペースが高速に二回押されたかのように「再生→停止→再生」となる感じです。 ただ、私の手元のバージョンは 20220408_04 と古いままだったので、 ブラウザー (Google Chrome) 側の更新が関係するような気もします。

sarami55 commented 10 months ago

firefoxでためしてみても現象は起きます。 となるとWindows側の更新が関係してるのかもしれません。 当方 Win11 22H2 最新updateずみ です。

smzht commented 10 months ago

報告ありがとうございます。こちらでも再現しました。SpaceFN拡張機能をONにしていると発生しない問題のようで、気がついていませんでした。SpaceFN拡張機能を作った時になんらかの影響が出たのかもしれません。 調べてみます。

smzht commented 10 months ago

KeyhacのフックをOFFにすると発生しない問題なので、Fakeymacsの問題の可能性が高いです。

smzht commented 10 months ago

elfhamさんの報告では、20220408_04版 でもなるのですね。だと、SpaceFN拡張機能のときの修正は関係なさそうです。

smzht commented 10 months ago

以下のコードでも再現します。Fakeymacs の問題ではなさそうですが、回避策が無いか検討してみます。

from keyhac import *

def configure(keymap):
    keymap_global = keymap.defineWindowKeymap()
    keymap_global["Space"] = "Space"
smzht commented 10 months ago

とりあえずの回避策です。config_pesonal.py の fc.skip_settings_key の設定を以下のとおり変えてください(二箇所に "Space” を追加する)。

fc.skip_settings_key    = {"keymap_base"      : ["*W-g", "Space"], # ベース Keymap
                           "keymap_global"    : [],       # グローバル Keymap
                           "keymap_emacs"     : ["Space"],       # Emacs キーバインド対象アプリ用 Keymap
                           "keymap_vscode"    : [],       # Emacs キーバインド VSCode 拡張用 Keymap
                           "keymap_ime"       : [],       # IME 切り替え専用アプリ用 Keymap
                           "keymap_ei"        : [],       # Emacs 日本語入力モード用 Keymap
                           "keymap_tsw"       : [],       # タスク切り替え画面用 Keymap
                           "keymap_lw"        : [],       # リストウィンドウ用 Keymap
                           }
smzht commented 10 months ago

上記の方法以外に SpaceFN 拡張機能を有効にする方法もあります。これを機会に SpaceFN 拡張機能の評価を兼ねて使ってみていただき、問題等あれば報告していたけるとうれしかったりします。:-)

本体での回避策については引き続き検討します。

smzht commented 10 months ago

YouTube は Space キーを押した時と離した時にそれぞれ反応していますね。

smzht commented 10 months ago

とりあえず、以下だとうまくいくことが分かりました("D-” を追加)。

from keyhac import *

def configure(keymap):
    keymap_global = keymap.defineWindowKeymap()
    keymap_global["Space"] = "D-Space"
smzht commented 10 months ago

config.py の 1377行目(space 関数の中)の sefl_insert_command の行を次のとおりとすると、改善します。

            self_insert_command("D-Space")()

他に影響がでないか、少し確認してみます。

smzht commented 10 months ago

上記に変更する影響度が分からないので、とりあえず今回の問題を対策する拡張機能 youtube_space_key を作りました。

今回の問題がいつか改善されることを願って、それまで本拡張機能をご利用ください。

elfham commented 10 months ago

対応ありがとうございます。 早速 Fakeymacs と config_personal.py を更新して、 Windows 10 22H2 の Chrome, Edge, Firefox でスペースキーで再生・停止ができるようになったことを確認しました。

sarami55 commented 10 months ago

当方も動作確認しました。 素早い対応ありがとうございました。

smzht commented 10 months ago

確認ありがとうございます。他にもこの問題に遭遇する方が居ると思いますので、この Issue はしばらく Open のままにしておこうかと思います。しばらくしたら、私が Close したいと思いますので、よろしくお願いします。

smzht commented 10 months ago

10/17 に次の update 情報が公開されていました。

この update によって発生するようになった問題のような気がします。

smzht commented 10 months ago

space_fn 拡張機能と youtube_space_key 拡張機能が共存できるように見直しを行いました。

これで、両拡張機能を有効にした場合、Space+b で YouTube の2倍速再生ができるようになりました。

smzht commented 10 months ago

ちょっとコードの見直しを行いました。機能に変更はありません。

smzht commented 9 months ago

本件、close とします。問い合わせありがとうございました。