Comment obtenir le verdict de la molette de la souris avec des malédictions Python

environnement

introduction

Je l'ai fait moi-même parce que les malédictions n'avaient pas de jugement sur la molette de la souris.

Avant de lire ceci, veuillez lire cet article.

Symptômes

Je ne peux pas avoir de jugement de roue

Cause

Bien que les malédictions fournissent un jugement de clic de souris, etc., il est insuffisant et le jugement de la roue est effectué. En particulier, il n'y a pas de jugement lors du défilement vers le bas.

Solution

Pour des commentaires sur la partie jugement, reportez-vous à l'article sur la contribution japonaise. Pseudo code. Je n'ai pas déclaré l'objet window correctement

import curses

window = curses.stdscr()
key = window.getch()

text_pool = [key]
if 0x00 <= key <= 0x7f:
     pass
elif 0x80 <= key <= 0xbf:
     print(key)
     exit(1)
elif 0xc0 <= key <= 0xdf:
     text_pool.append(self.window.getch())
     a, b = text_pool
     tmp = map(lambda x: bin(x)[2:], [0b00011111 & a, 0b00111111 & b])
     tmp = ''.join(item.zfill(6) for item in tmp)
     key = int(tmp,2)
elif 0xe0 <= key <= 0xef:
     for _ in range(2):
         text_pool.append(self.window.getch())
         a, b, c = text_pool
         tmp = map(lambda x: bin(x)[2:], [0b00001111 & a, 0b00111111 & b, 0b00111111 & c])
         tmp = ''.join([item.zfill(6) for item in tmp])
     key = int(tmp,2)
elif 0xf0 <= key <= 0xff:
     for _ in range(3):
         text_pool.append(self.window.getch())
         a, b, c ,d = text_pool
         tmp = map(lambda x: bin(x)[2:], [0b00000111 & a, 0b00111111 & b, 0b00111111 & c, 0b00111111 & d])
         tmp = ''.join([item.zfill(6) for item in tmp])
     key = int(tmp,2)
else:
    pass

#Valeur actuelle
WHEEL_UP = 65536
WHEEL_DOWN = 2097152

if key == curses.KEY_MOUSE:
                #L'entier saisi par la souris est stocké ici
                wheel = curses.getmouse()[4]
                if wheel == self.WHEEL_UP:
                    wheel_up_process()
                elif wheel == self.WHEEL_DOWN:
                    wheel_down_process()
else:
    print(chr(key)

référence

Recommended Posts

Comment obtenir le verdict de la molette de la souris avec des malédictions Python
Comment démarrer avec Python
Comment entrer le japonais avec les malédictions Python
Python: comment utiliser async avec
Lien pour commencer avec python
Comment obtenir la version Python
Comment démarrer avec Scrapy
Comment démarrer avec Django
Comment calculer la date avec python
Comment entrer dans l'environnement de développement Python avec Vagrant
[Introduction à Python] Comment obtenir des données avec la fonction listdir
Comment obtenir l'identifiant du parent avec sqlalchemy
Comment utiliser BigQuery en Python
Comment faire un test de sac avec python
Comment afficher le japonais python avec lolipop
[Python] Comment obtenir une valeur avec une clé autre que value avec Enum
Comment les débutants en Python commencent avec Progete
Comment installer python3 avec docker centos
[Yahoo! Weather Replacement Version] Comment obtenir des informations météo avec LINE Notify + Python
Comment obtenir la différence de date et d'heure en secondes avec Python
Comment lire un fichier CSV avec Python 2/3
Comment profiter de la programmation avec Minecraft (Ruby, Python)
[REAPER] Comment jouer à Reascript avec Python
Comment faire un traitement parallèle multicœur avec python
Stratégie sur la façon de monétiser avec Python Java
[Python] Comment dessiner plusieurs graphiques avec Matplotlib
[Python] Comment lire des fichiers Excel avec des pandas
Comment recadrer une image avec Python + OpenCV
J'ai essayé d'obtenir des données CloudWatch avec Python
Comment spécifier des attributs avec Mock of Python
Comment mesurer le temps d'exécution avec Python Partie 1
Comment obtenir des éléments de type dictionnaire de Python 2.7
Comment obtenir les fichiers dans le dossier [Python]
Comment utiliser tkinter avec python dans pyenv
[Python] Comment gérer les caractères japonais avec openCV
Zubu amateur veut démarrer Python
[Python] Comment comparer la date / heure avec le fuseau horaire ajouté
Script Python pour obtenir des informations de note avec REAPER
Comment mesurer le temps d'exécution avec Python, partie 2
Comment installer Python
Comment installer python
Obtenez date avec python
Remarque: Comment obtenir le dernier jour du mois avec python (ajouté le premier jour du mois)
Comment obtenir une liste de fichiers dans le même répertoire avec python
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Comment convertir / restaurer une chaîne avec [] en python
Comment obtenir le nom de la variable lui-même en python
Comment ajouter de l'aide à HDA (avec bonus de script Python)
[Python] Comment dessiner un graphique linéaire avec Matplotlib
Comment récupérer des données d'image de Flickr avec Python
Comment faire un calcul de hachage avec Salt en Python
[Introduction à Python] Comment itérer avec la fonction range?
Expliquez en détail comment créer un son avec python
J'ai essayé de démarrer avec le script python de blender_Part 01
Comment obtenir un utilisateur connecté avec les forms.py de Django
Comment exécuter des tests avec Python unittest
[Python] Comment spécifier l'emplacement de téléchargement avec youtube-dl