Razer 刺鳞树蝰 Atheris: בעיה הזויה שבה למרות שאין זיכרון מובנה, עדיין נשארת תצורת כפתורי הצד מחשבון ישן

Razer Atheris / 雷蛇刺鳞树蝰: רשמית “ללא זיכרון מובנה”, אבל מיפוי כפתורי צד מחשבון Synapse ישן נשאר ועובר בין מחשבים

מכשיר: Razer Atheris / 雷蛇刺鳞树蝰
VID/PID כפי ש-macOS מזהה: 0x1532:0x0062
שיטת חיבור עיקרית: מקלט USB ‏2.4GHz

תופעה

ה-Razer Atheris הזה בעבר, תחת Windows ב-Synapse (雷云), הוגדר כך שכפתור צד אחד ממופה ל-Ctrl+W. אחר כך חיברתי אותו ל-Mac, וגם אם Synapse הוסר מה-Mac, כפתור הצד עדיין מפעיל Ctrl+W / התנהגות כמו סגירת לשונית.

החלק הכי אבסורדי כאן: במפרט הרשמי של Atheris כתוב שאין לו פרופילי תצורה בזיכרון מובנה (on-board memory). לכאורה, Mac בלי Synapse לא אמור להמשיך “לספוג” את קיצור הדרך שהוגדר פעם ב-Synapse על Windows, והוא אמור לחזור לברירת המחדל של כפתורי צד בעכבר רגיל:

  • Mouse Button 4: חזרה
  • Mouse Button 5: קדימה

אבל בפועל זה לא מה שקורה. המיפוי הישן של Ctrl+W ממשיך לעבוד גם על Mac אחר.

הגילוי הכי חשוב

כשנכנסים ל-Synapse 4 עם חשבון Razer חדש, כפתורי הצד מוצגים ומתנהגים כמו ברירת המחדל הנכונה; ובזמן ש-Synapse פתוח זה תקין.

אבל אם לוקחים את העכבר ומחברים אותו ל-Mac אחר שאין עליו Synapse, הוא חוזר שוב לתצורת Ctrl+W הישנה.

בסוף, הדרך שבאמת פתרה את הבעיה הייתה: להתחבר ל-Synapse 4 עם חשבון ה-Razer הישן שבו הוגדר Ctrl+W במקור, ואז למחוק את כל ההגדרות/Profiles בחשבון הישן הזה. רק אחרי המחיקה העכבר חזר באמת להתנהגות ברירת המחדל של כפתורי הצד.

לכן זה נראה לא כמו “פרופיל מובנה” מלא, אלא כמו איזשהו “מצב מיפוי כפתורים נוכחי” מוסתר, או מצב נדידת תצורה מהענן של החשבון הישן—שנמצא איפשהו בין Synapse / העכבר / מקלט ה-2.4G.

תהליך בדיקה

במהלך הבדיקה היו הרבה עיקופים; ניסיתי את כל הדברים הבאים.

1. יציאה מ-BetterTouchTool

קודם חשדתי ש-BTT ממפה את כפתורי הצד בעכבר לסגירת חלון.

אבל גם אחרי יציאה מ-BTT הבעיה נשארה. בהגדרות של BTT אכן היו בעבר פעולות לכפתורי עכבר, אבל הפעם זה לא נגרם מ-BTT שרץ.

2. יציאה מ-Parallels Desktop / מכונת Windows וירטואלית

עלה גם חשד שמכונה וירטואלית או USB passthrough משפיעים על הקלט.

אבל אחרי שסגרתי את Parallels הבעיה עדיין נשארה.

3. הסרה וניקוי של Synapse ל-macOS

אחר כך החשד העיקרי היה שאריות של Synapse ב-Mac.

ביצעתי את הניקיונות הבאים:

  • הרצת מסיר ההתקנה הרשמי של Razer
  • ניקוי ~/Library/Razer
  • ניקוי ~/Library/Application Support/Razer
  • ניקוי preferences שקשורים ל-Razer
  • ניקוי Razer group containers / application scripts
  • ניקוי Razer caches / HTTPStorages
  • שחזור נוסף של מסיר ההתקנה של Razer, כדי שיבטל נכון רכיבי DriverKit שנותרו

4. אימות ש-Razer DriverKit כבר נעלם

אחרי הניקוי המשכתי לאמת את מצב המערכת.

systemextensionsctl list מציג:

0 extension(s)

ב-hidutil list ה-Atheris כבר חזר לדרייבר ה-HID המקורי של Apple:

  • AppleUserHIDEventDriver
  • AppleUserUSBHostHIDDevice

כבר לא RazerGenericHIDDriverKit שראיתי קודם.

5. אימות שאין ב-macOS מיפוי מחדש דרך hidutil

המשכתי לבדוק מיפוי מקשים ברמת המערכת:

hidutil property --get UserKeyMapping

התוצאה הייתה:

(null)

מה שמראה שזה לא hidutil של macOS שמחליף את כפתורי הצד לקיצור מקלדת.

6. בדיקת תהליכי Razer ו-LaunchAgent/LaunchDaemon

בדקתי גם תהליכים שקשורים ל-Razer, וגם LaunchAgent ו-LaunchDaemon.

תהליכי הרקע בפועל של Razer כבר לא היו קיימים. התהליך היחיד שתאם ל-Synapse היה של Apple עצמה:

/System/Library/PrivateFrameworks/Synapse.framework/...

זה לא קשור ל-Razer.

גם קבצי ה-plist של LaunchAgent/LaunchDaemon של Razer כבר לא היו, נשארו רק pkg receipts ומצב launchd ישן—תיאורטית אלה כבר לא אמורים להשפיע על קלט ה-HID של העכבר.

הפתרון הסופי

מה שבאמת פתר היה התצורה בחשבון ה-Razer הישן.

שלבים:

  1. לפתוח Synapse 4 ב-Windows.
  2. להתחבר עם חשבון ה-Razer הישן שבו הוגדר כפתור הצד ל-Ctrl+W בעבר.
  3. למחוק בחשבון הזה את כל ה-Profile וההגדרות שקשורים ל-Atheris / Synapse.
  4. לבדוק את שכבת Standard ואת שכבת Hypershift, ולוודא שכפתורי הצד לא ממופים לקיצור מקלדת.
  5. להחזיר את כפתורי הצד ל-Default, או להגדיר ידנית ל:
    • Mouse Button 4
    • Mouse Button 5
  6. לנתק ולחבר את העכבר, ואז לבדוק שוב על Mac שאין עליו Synapse.

אחרי שמחקתי את תצורת החשבון הישן, גם על Mac בלי Synapse סוף סוף חזרה ההתנהגות התקינה של כפתורי הצד.

ההבנה שלי לגבי הבאג הזה

זה לא נראה כמו “פרופיל בזיכרון מובנה” במובן הקלאסי, כי רשמית ל-Atheris אין בכלל חריצי פרופיל מובנים שניתנים לניהול.

אבל בכל זאת יש לו איזשהו מצב מתמשך (persistent state):

  • פרופיל הענן של החשבון הישן גורם לכך שכפתורי הצד ממשיכים להתנהג כמו Ctrl+W
  • ברירת המחדל של חשבון חדש יכולה רק להחליף זמנית בזמן ש-Synapse רץ
  • כשעוברים ל-Mac בלי Synapse זה חוזר למיפוי הישן
  • רק אחרי שמוחקים את ה-profile של החשבון הישן, המיפוי הזה באמת נמחק

לכן ההסבר הסביר יותר הוא: יש באג סנכרון או נדידה (migration) בין Synapse 4 / תצורת הענן של Synapse / מצב המיפוי הנוכחי שעל המכשיר או המקלט.
“אין פרופילי תצורה בזיכרון מובנה” לא אומר “אין בכלל שום מצב מיפוי כפתורים נוכחי שניתן להתמיד (persist) על המכשיר או המקלט”.

מסלול אבחון למי שיגיע אחר כך

אם גם אצלך כפתורי הצד של Razer Atheris משום מה הפכו לקיצור מקלדת כלשהו, אפשר לבדוק לפי הסדר הזה:

  1. קודם לצאת מ-BTT, ‏Karabiner, ‏SteerMouse, ‏USB Overdrive, ‏Mac Mouse Fix, ‏Parallels וכו’—תוכנות שיכולות ליירט קלט.
  2. עם hidutil property --get UserKeyMapping לבדוק אם יש ב-macOS מיפוי מחדש ברמת מערכת.
  3. עם systemextensionsctl list ו-hidutil list לבדוק אם עדיין יש Razer DriverKit.
  4. אם כל אלה תקינים, להתמקד בחיפוש “חשבון ה-Razer שבו הוגדר קיצור הדרך הזה במקור”.
  5. להתחבר עם החשבון הישן ל-Synapse 4, למחוק profile ישן, או להחזיר במפורש את כפתורי הצד ל-Mouse Button 4/5.

הדבר שבאמת היה שימושי כאן הוא שלב 5.