Estoy usando MATLAB R2014a en mi laptop con Ubuntu 14.04 LTS, y estoy experimentando bastante molesto problema. Siempre que uso dos dedos de desplazamiento gesto en mi touchpad en el editor o en la ventana principal, aparecerá el siguiente resultado en la ventana de comandos:

MEvent. CASO!

Mientras que el desplazamiento de obras, la línea de salida y otra vez a medida que yo vaya a realizar el gesto.

Alguna idea de cómo evitar que esto suceda?

NOTA: también Se produce en el Procesamiento y el Arduino IDEDesactivar MEvent.CASO en Java Ide

InformationsquelleAutor Juan David | 2014-07-07

5 Comentarios

  1. 19

    Como un usuario que no quiero escribir el comando anterior cada vez que abra MATLAB. Así que he buscado un poco en matlab ‘inicio‘ sección de línea de comandos,
    y el ‘ ruta de búsqueda sección. He resuelto mi problema después de hacer los siguientes pasos sencillos:

    1. Ver su rutadeusuario escribiendo rutadeusuario en MATLAB de la consola: Para
      linux es: home/usuario/Documentos/MATLAB/
    2. Crear un archivo
      ‘startup.m’ tener sólo una línea, que deshabilitar el Mevent.CASO!
      (A continuación se muestra el texto para copiar)

      !synclient HorizEdgeScroll=0 HorizTwoFingerScroll=0
    3. Lugar el creado de inicio.m archivo en su rutadeusuario carpeta como se define en MATLAB.

    4. Ahora, tan pronto como usted coloque este archivo en su rutadeusuario, reinicie MATLAB.
    5. Comprobar viendo ans = 0 en el espacio de trabajo de la sección.

    A mí me funcionó en Ubuntu 15.04 ejecuta MATLAB R2015b, espero que funcione para usted también.

    Nota: Esta es una mejora a @someDude y @Slothworks respuesta.

    • Esto sólo funciona para Synaptics de los paneles táctiles.
    • He instalado MATLAB R2016b. Me coloqué el inicio.m archivo en mi directorio home, y parece que funciona. (Para mí rutadeusuario vuelve con «OxO vacío matriz de char». No tengo /home/me/directorio de Documentos. Siendo una versión húngara de Ubuntu, el directorio se llama Dokumentumok.)
    • esto a veces funciona, y otras veces no
    • Una vez molesto inconveniente es el lado más sabio, el desplazamiento está muerto después de eso y hasta que se reinicie. Para solucionar esto, se puede agregar un archivo llamado finish.m en el mismo directorio, con el siguiente texto: !synclient HorizEdgeScroll=1 HorizTwoFingerScroll=1
  2. 13

    Ninguna de estas soluciones funciona para mí. Además me gusta tener a los dos dedos de desplazamiento.
    Esto funciona para mí:

    MATLAB se basa en jdk7, jdk8 no trabajar con él. Parece 16.04 y más tarde ya no proporcionan openjdk-7-jre en los repositorios, y se debe instalar desde fuentes externas. Para instalarlo:

    sudo add-apt-repository ppa:openjdk-r/ppa  
    sudo apt-get update   
    sudo apt-get install openjdk-7-jdk

    Asegúrese de que ha definido correctamente la MATLAB_JAVA variable. Esto puede comprobarse con:

    echo $MATLAB_JAVA

    Si la salida está vacío, esta variable está vacía. Se puede establecer con

    export MATLAB_JAVA=/usr/lib/jvm/java-7-openjdk-amd64/jre

    A continuación, ejecutar MATLAB desde el mismo shell con cualquier comando que se utiliza para llamar a MATLAB, generalmente

    matlab

    En la ventana de comandos de MATLAB, ejecutar

    version -java

    y compruebe que contiene la salida «OpenJDK». Si todo es correcto, usted no verá el MEvent. CASO! mensaje de error.

    Para hacer de este persistente:
    agregar

    export MATLAB_JAVA=/usr/lib/jvm/java-7-openjdk-amd64/jre        

    a la /etc/profile archivo (para todo el sistema de cambio) o a ~/.profile para el usuario local

    Fuente: https://www.reddit.com/r/matlab/comments/5anydi/how_to_stop_mevent_case_from_appearing/

    • De la OMI, esta debería ser la solución correcta, desactivar el desplazamiento horizontal no es una verdadera revisión, ya que reduce la funcionalidad. El cambio de JRE parece solucionar el problema, mientras que el mantenimiento de desplazamiento horizontal.
    • Gracias! Esto también funciona con linux a los clientes que no utilizan libsynaptics. Para aquellos que migran a wayland, que utiliza libinput de forma predeterminada, esta puede ser la mejor o la única manera.
  3. 7

    Desactivar el desplazamiento horizontal, se puede solucionar el problema. Trate de ejecutar el siguiente en la terminal de gnome:

    synclient HorizEdgeScroll=0 HorizTwoFingerScroll=0

    O el siguiente en el MATLAB consola:

    !synclient HorizEdgeScroll=0 HorizTwoFingerScroll=0

    (fuente: http://www.mathworks.com/matlabcentral/answers/112528-mevent-case-when-two-finger-scrolling)

    • Ya están los valores para mí, y el error se produce a pesar de todo. Nadie resuelto este problema recientemente?
  4. 0

    GNOME 3.20 ::SYNCLIENT ES OBSOLETO,
    La fijación de la MEvent. CASO! error en MATLAB para xinput

    La propuesta de solución es ejecutar

    !synclient HorizTwoFingerScroll=0

    como parte de su archivo de inicio para desactivar el desplazamiento horizontal. Sin embargo, esto no funciona en las más recientes versiones de linux porque el synaptics touchpad driver está obsoleto en favor de libinput. La nueva solución para este problema es un poco más complejo, sin embargo.
    En primer lugar, debemos encontrar el id de la pantalla táctil del dispositivo con el xinput lista de comandos desde un terminal (no en la ventana de comandos de MATLAB). Usted debe ver algo como esto:

    ~$ xinput list
    
     Virtual core pointer                          id=2    [master pointer  (3)]
        Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
        SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]
        ELAN Touchscreen                          id=11   [slave  pointer  (2)]

    Estamos interesados en la SynPS/2 Synaptics TouchPad, que en este caso id=13. Podemos ver las opciones de configuración compatible con este dispositivo mediante la ejecución de :

    ~$ xinput list-props 13

    Recordar a cambio de 13 para el id de la pantalla táctil de tu máquina ! En la salida, usted debe ver una línea como:

    Synaptics Two-Finger Scrolling (283):   1, 1

    Este le dice que a dos dedos de desplazamiento está activado en las direcciones vertical y horizontal. A cambio de esta carrera :

    ~$ xinput set-prop 13 "Synaptics Two-Finger Scrolling" 1 0

    Si usted no pudo encontrar el «Dos Dedos de Desplazamiento de línea» no todo está perdido. Busque una línea relacionados con de desplazamiento horizontal. En mi caso fue:

    libinput Horizonal Scroll Enabled (266):    1

    y el comando se utiliza para deshabilitar esta propiedad es:

    ~$ xinput set-prop 13 "libinput Horizonal Scroll Enabled" 0

    Tener este se ejecute automáticamente cada vez que se ejecuta MATLAB puede agregar

    !xinput set-prop 13 "libinput Horizonal Scroll Enabled" 0

    a su archivo de inicio.

  5. 0

    Para la gente que no tiene simulink pero x entrada
    Esta es una mejora de Riyas Jaleel a sólo movilidad de desplazamiento horizontal en matlab, pero no en otras aplicaciones.

    Primero de todo instalar xdotool que permite conocer el actual nombre de la ventana

    sudo apt install xdotool

    src : https://unix.stackexchange.com/questions/256713/how-to-execute-a-command-on-window-focus-unfocus

    Ahora crear un script llamado patchScroll.sh en la carpeta bin de matlab con el siguiente contenido

      while [ true ]
        do
            window=`xdotool getwindowfocus getwindowname`
            is_enabled=2
            if [ "$window" = "MATLAB R2017a" ]; then
                if [ "$is_enabled" != "0" ]; then
                    xinput set-prop 13 "libinput Horizonal Scroll Enabled" 0
                    is_enabled=0
                    echo "is_enable $is_enabled"
                fi
            else
                if [ "$is_enabled" != "1" ]; then
                    xinput set-prop 13 "libinput Horizonal Scroll Enabled" 1
                    is_enabled=1
                    echo "is_enable $is_enabled"
                fi
            fi
            sleep 1
        done

    ahora en el archivo de matlab en la carpeta bin de que el lanzamiento de matlab
    agregar
    ./patchScroll.sh & entre la primera y la segunda línea de

    No podemos poner directamente el código en un archivo de matlab debido a que el bucle es infinito y bloquea el lanzamiento de matlab, es por eso que utilizamos & en fin.

Dejar respuesta

Please enter your comment!
Please enter your name here