Incorrect display size for non-apple external monitors on macOS
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- cpp, macos
- Área
- operating-systems
Línea de trabajo
Comienza rastreando el manejo del tamaño de pantalla de libpointing en macOS y compara CGDisplayScreenSize con el análisis de EDID mostrado en el gist enlazado. Verifica el comportamiento en los monitores HP Compaq LA2205wg indicados; se considera terminado cuando se devuelve el tamaño físico correcto para pantallas externas que no sean de Apple, preservando al mismo tiempo el manejo existente de pantallas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The display physical size returned by libpointing is incorrect on my external monitors (HP Compaq LA2205wg).
The problem seems to be coming from the native function "CGDisplayScreenSize", from the documentation :
"If Extended Display Identification Data (EDID) for the display device is not available, the size is estimated based on the device width and height in pixels from CGDisplayBounds, with an assumed resolution of 2.835 pixels/mm or 72 dpi, a reasonable guess for displays predating EDID support."
It seems to be what is happening because I obtain a DPI of 72 (instead of 86), but it should not be the case because my monitors have an EDID.
And I am able to retrieve the correct physical size by directly parsing the EDID of my monitors.
I wrote this code to compare the result obtained by parsing the EDID vs CGDisplayScreenSize :
https://gist.github.com/m-damien/75617b3eba1b125aac1be4af7444acad
I am on macOS Sierra.
The value returned by Qt using QScreen#logicalDotsPerInch is also incorrect.
- Lenguaje dominante
- C++
- Estrellas
- 54
- Forks
- 14
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de INRIA/libpointing
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
INRIA/libpointing#40 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
INRIA/libpointing#37 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
INRIA/libpointing#26 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 28/100
INRIA/libpointing#17 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
INRIA/libpointing#10 ·
Todos los issues de INRIA/libpointing
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Ctrl-C can abort a node: the state timer asks for the node names after shutdownPosiblemente ocupada @fmrico la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
fmrico/cascade_lifecycle#24 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Deltakit/deltakit-stim#52 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día