דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. מעקב אחרי העכבר בטרמינל

מעקב אחרי העכבר בטרמינל

מתוזמן נעוץ נעול הועבר תכנות
6 פוסטים 5 כותבים 289 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • yossizY מחובר
    yossizY מחובר
    yossiz
    כתב ב נערך לאחרונה על ידי yossiz
    #1

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

    הנה דוגמה שכתבתי בפייתון (הזזת העכבר על גבי הטרמינל בעת שהתוכנה פועלת תשאיר עקבות, לחיצה על q כדי לצאת מהתוכנה):

    from curses import (
        initscr,
        cbreak,
        noecho,
        mousemask,
        getmouse,
        endwin,
        ALL_MOUSE_EVENTS,
        REPORT_MOUSE_POSITION,
        KEY_MOUSE,
    )
    from collections import deque
    
    trail = deque(maxlen=20)
    
    stdscr = initscr()
    cbreak()
    noecho()
    
    stdscr.keypad(True)
    
    mousemask(ALL_MOUSE_EVENTS | REPORT_MOUSE_POSITION)
    
    print("\033[?1003h\n")
    
    while True:
        c = stdscr.get_wch()
        if c == "q":
            break
        if c == KEY_MOUSE:
            id, x, y, z, bstate = getmouse()
            trail.append((x, y))
            stdscr.clear()
            for x, y in trail:
                stdscr.addch(y, x, "█")
    
            stdscr.move(0, 0)
    
    print("\033[?1003l\n")
    endwin()
    

    הנ"ל מבוסס על קוד זה ב-C

    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

    Y.Excel.AccessY dovidD קומפיונטק 3 תגובות תגובה אחרונה
    11
    • Y.Excel.AccessY מנותק
      Y.Excel.AccessY מנותק
      Y.Excel.Access
      השיב לyossiz ב נערך לאחרונה על ידי
      #2

      @yossiz מצוי באתרים מסוימים שעוקבים אחרי העכבר של האנשים כדי לבדוק מה עניין אותם.
      עניין של UX (מקור: קורס UX)

      Y.Excel.Access @ gmail.com

      צדיק תמיםצ תגובה 1 תגובה אחרונה
      0
      • צדיק תמיםצ מנותק
        צדיק תמיםצ מנותק
        צדיק תמים
        השיב לY.Excel.Access ב נערך לאחרונה על ידי
        #3

        @Y-Excel-Access לא הייתי קורא לזה UX אלא חדירה (גסה) לפרטיות
        בכל מקרה החידוש פה הוא שזה אפשרי בטרמינל

        Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
        טיפים

        תגובה 1 תגובה אחרונה
        5
        • dovidD מחובר
          dovidD מחובר
          dovid ניהול
          השיב לyossiz ב נערך לאחרונה על ידי dovid
          #4

          @yossiz זה לא תלוי באיזה טרמינל משתמשים? כל הטרמינלים מספקים את המידע על מיקום העכבר?

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          yossizY תגובה 1 תגובה אחרונה
          1
          • yossizY מחובר
            yossizY מחובר
            yossiz
            השיב לdovid ב נערך לאחרונה על ידי
            #5

            @dovid אכן זה לא מובן מאיליו
            יש היסטוריה עשירה של כל מיני הוספות שהוסיפו מחברי תוכנות טרמינלים ("מסופים מדומים") על הקודים המקוריים של הטרמינלים האמיתיים הישנים, (כמובן בטרמינל אמיתי אין עכבר כלל)
            יש רמות שונות של תמיכה בהוספות אלו. המקור של תוספת זו כנראה מ-xterm, על פי רוב הוא האב טיפוס שכולם מנסים לחקות
            בינתיים לא נתקלתי בטרמינל שלא תומך, אבל לא נסיתי הרבה

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            תגובה 1 תגובה אחרונה
            4
            • קומפיונטק מנותק
              קומפיונטק מנותק
              קומפיונט
              השיב לyossiz ב נערך לאחרונה על ידי
              #6

              @yossiz אפשר לכאורה לקבל מידע על הזזת העבר מהמערכת הפעלה עם hookים למיניהם.
              אבל באמת החידוש הוא שאפשר לקבל את ציר ה-x וה-y ברמה של הקונסול, ולא ברמה של הפיקסלים במסך. (זה נראה לי מה שהפונקציה getmouse עושה).

              תגובה 1 תגובה אחרונה
              0

              בא תתחבר לדף היומי!
              • התחברות

              • אין לך חשבון עדיין? הרשמה

              • התחברו או הירשמו כדי לחפש.
              • פוסט ראשון
                פוסט אחרון
              0
              • דף הבית
              • קטגוריות
              • פוסטים אחרונים
              • משתמשים
              • חיפוש
              • חוקי הפורום