eubnara / troubleshooting

이것저것 공부하다가 맞닥뜨리는 문제점, 해결방식 등 정리
2 stars 0 forks source link

use bluetooth trackpad link magicpad(apple) in ubuntu #5

Open eubnara opened 6 years ago

eubnara commented 6 years ago
  1. cannot pair bluetooth device in ubuntu I tried to pair with Apple trackpad with ubuntu. ubuntu (16.04) have consistently tried to pair trackpad with random pin code. However, I cannot input pincode at trackpad. I think I can set default pin code.
eubnara commented 6 years ago

https://github.com/iberianpig/fusuma https://github.com/iberianpig/xSwipe https://github.com/quadpixels/three-finger-dragging

eubnara commented 6 years ago
swipe:
  3:
    left:
      shortcut: 'alt+Right'
    right:
      shortcut: 'alt+Left'
    up:
      shortcut: 'ctrl+t'
    down:
      shortcut: 'ctrl+w'
  4:
    left:
      shortcut: 'ctrl+alt+Right'
    right:
      shortcut: 'ctrl+alt+Left'
    up:
      shortcut: 'ctrl+alt+Down'
    down:
      shortcut: 'ctrl+alt+Up'
pinch:
  in:
    shortcut: 'super+s'

threshold:
  swipe: 0.05
  pinch: 0.05

interval:
  swipe: 0.1
  pinch: 0.1
eubnara commented 6 years ago

https://askubuntu.com/questions/490199/how-can-i-use-three-fingers-to-drag-on-the-touchpad-of-a-macbook-pro https://github.com/quadpixels/three-finger-dragging

$ ./autogen.sh 
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal 
configure.ac:41: error: must install xorg-macros 1.13 or later before running autoconf/autogen
configure.ac:41: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
autoreconf: aclocal failed with exit status: 1

$ ./autogen.sh 
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal 
configure.ac:51: error: must install xorg-server development files before running autoconf/autogen
configure.ac:51: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
autoreconf: aclocal failed with exit status: 1

$ apt-cache search xorg-macros
xutils-dev - X Window System utility programs for development

$ apt-cache search xorg-server
xorg-server-source - Xorg X server - source files
xorg-server-source-lts-utopic - Transitional package for xorg-server-source-lts-utopic
xorg-server-source-lts-vivid - Transitional package for xorg-server-source-lts-vivid
xorg-server-source-lts-wily - Transitional package for xorg-server-source-lts-wily
xorg-server-source-hwe-16.04 - Xorg X server - source files
xorg-server-source-lts-xenial - Transitional package for xorg-server-source-lts-xenial
$ sudo apt-get install xorg-dev
$ ./autogen.sh 
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal 
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf
autoreconf: running: /usr/bin/autoheader
autoreconf: running: automake --add-missing --copy --no-force
src/Makefile.am:27: error: Libtool library used but 'LIBTOOL' is undefined
src/Makefile.am:27:   The usual way to define 'LIBTOOL' is to add 'LT_INIT'
src/Makefile.am:27:   to 'configure.ac' and run 'aclocal' and 'autoconf' again.
src/Makefile.am:27:   If 'LT_INIT' is in 'configure.ac', make sure
src/Makefile.am:27:   its definition is in aclocal's search path.
autoreconf: automake failed with exit status: 1

$ sudo apt install libtool
....
....
checking if RANDR is defined... yes
checking for XORG... yes
checking which optional backends will be build... ps2comm alpscomm eventcomm
checking for LIBEVDEV... no
configure: error: Package requirements (libevdev >= 0.4) were not met:

No package 'libevdev' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBEVDEV_CFLAGS
and LIBEVDEV_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
$ apt-cache search libevdev
libevdev-dev - wrapper library for evdev devices - development files
libevdev2 - wrapper library for evdev devices
libevdev-tools - wrapper library for evdev devices - tools

$ sudo apt-get install libevdev-dev
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
eub@eub-14Z950-GT5BL:~/github.com/three-finger-dragging$ make
make  all-recursive
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging' 들어감
Making all in include
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/include' 들어감
make[2]: 'all'을(를) 위해 할 일이 없습니다.
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/include' 나감
Making all in src
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/src' 들어감
  CC       synaptics.lo
  CC       synproto.lo
  CC       properties.lo
  CC       alpscomm.lo
  CC       ps2comm.lo
  CC       eventcomm.lo
  CCLD     synaptics_drv.la
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/src' 나감
Making all in man
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/man' 들어감
  GEN      synaptics.4
  GEN      synclient.1
  GEN      syndaemon.1
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/man' 나감
Making all in tools
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/tools' 들어감
  CC       synclient.o
  CCLD     synclient
  CC       syndaemon-syndaemon.o
syndaemon.c: In function ‘main’:
syndaemon.c:638:9: warning: ignoring return value of ‘chdir’, declared with attribute warn_unused_result [-Wunused-result]
         chdir("/");             /* In case the file system gets unmounted */
         ^
  CCLD     syndaemon
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/tools' 나감
Making all in conf
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/conf' 들어감
make[2]: 'all'을(를) 위해 할 일이 없습니다.
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/conf' 나감
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging' 들어감
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging' 나감
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging' 나감

$ sudo make install
Making install in include
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging/include' 들어감
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/include' 들어감
make[2]: 'install-exec-am'을(를) 위해 할 일이 없습니다.
 /bin/mkdir -p '/usr/include/xorg'
 /usr/bin/install -c -m 644 synaptics-properties.h '/usr/include/xorg'
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/include' 나감
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging/include' 나감
Making install in src
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging/src' 들어감
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/src' 들어감
make[2]: 'install-exec-am'을(를) 위해 할 일이 없습니다.
 /bin/mkdir -p '/usr/local/lib/xorg/modules/input'
 /bin/bash ../libtool   --mode=install /usr/bin/install -c   synaptics_drv.la '/usr/local/lib/xorg/modules/input'
libtool: install: /usr/bin/install -c .libs/synaptics_drv.so /usr/local/lib/xorg/modules/input/synaptics_drv.so
libtool: install: /usr/bin/install -c .libs/synaptics_drv.lai /usr/local/lib/xorg/modules/input/synaptics_drv.la
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib/xorg/modules/input
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib/xorg/modules/input

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/src' 나감
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging/src' 나감
Making install in man
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging/man' 들어감
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/man' 들어감
make[2]: 'install-exec-am'을(를) 위해 할 일이 없습니다.
 /bin/mkdir -p '/usr/local/share/man/man4'
 /usr/bin/install -c -m 644 synaptics.4 '/usr/local/share/man/man4'
 /bin/mkdir -p '/usr/local/share/man/man1'
 /usr/bin/install -c -m 644 synclient.1 '/usr/local/share/man/man1'
 /bin/mkdir -p '/usr/local/share/man/man1'
 /usr/bin/install -c -m 644 syndaemon.1 '/usr/local/share/man/man1'
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/man' 나감
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging/man' 나감
Making install in tools
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging/tools' 들어감
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/tools' 들어감
 /bin/mkdir -p '/usr/local/bin'
  /bin/bash ../libtool   --mode=install /usr/bin/install -c synclient syndaemon '/usr/local/bin'
libtool: install: /usr/bin/install -c synclient /usr/local/bin/synclient
libtool: install: /usr/bin/install -c syndaemon /usr/local/bin/syndaemon
make[2]: 'install-data-am'을(를) 위해 할 일이 없습니다.
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/tools' 나감
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging/tools' 나감
Making install in conf
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging/conf' 들어감
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/conf' 들어감
make[2]: 'install-exec-am'을(를) 위해 할 일이 없습니다.
 /bin/mkdir -p '/usr/share/X11/xorg.conf.d'
 /usr/bin/install -c -m 644 70-synaptics.conf '/usr/share/X11/xorg.conf.d'
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging/conf' 나감
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging/conf' 나감
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging' 들어감
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging' 들어감
make[2]: 'install-exec-am'을(를) 위해 할 일이 없습니다.
 /bin/mkdir -p '/usr/local/lib/pkgconfig'
 /usr/bin/install -c -m 644 xorg-synaptics.pc '/usr/local/lib/pkgconfig'
make[2]: 디렉터리 '/home/eub/github.com/three-finger-dragging' 나감
make[1]: 디렉터리 '/home/eub/github.com/three-finger-dragging' 나감
$ mv /usr/lib/xorg/modules/input/synaptics_drv.so /usr/lib/xorg/modules/input/synaptics_drv.so.old
$ ln -s /usr/local/libs/xorgs/modules/input/synaptic_drv.so /usr/lib/xorg/modules/input/synaptics_drv.so
eubnara commented 6 years ago

threefingertest

3개의 손가락으로 드래그 앤 드랍, 블록지정은 잘 된다. 하지만, 중요한 문제점은.. fusuma 와 충돌된다...

apple trackpad(magicpad) 에서는 2손가락으로 브라우저에서 앞뒤로 이동할 수 있지만, fusuma 는 3손가락 이상의 것만 바꿀 수 있음. 내 트랙패드는 5손가락은 인지 못함.. 본래 3손가락은 alt+left, alt+right 에 맵핑해서 브라우저 이동하고 4손가락은 workspace 이동 (ctrl + alt + 방향키) 로 지정해 두고 쓰려 했으나,,

3손가락 dragging 과 충돌된다.. 무언가 하나를 포기해야 함... ㅜㅜ

3손가락 기능을 없애려면 내가 바꿔놓은 것을 원상태로 복구해야 함..

$ mv /usr/lib/xorg/modules/input/synaptics_drv.so.old /usr/lib/xorg/modules/input/synaptics_drv.so 
eubnara commented 6 years ago

https://ubuntuforums.org/showthread.php?t=2338474

페어링이 자꾸 실패하는 문제는 위 이슈로 해결

터미널에서 수동으로 bluetoothctl 을 활용하여 연결해 줌