Page 29 of 48 FirstFirst ... 19272829303139 ... LastLast
Results 281 to 290 of 480

Thread: HOWTO: Install basic G15Tools support for the Logitech G15

  1. #281
    Join Date
    Mar 2007
    Beans
    4

    Re: HOWTO: Install basic G15Tools support for the Logitech G15

    good day to all of you again.

    toying with libg15render's sources i made UNICODE support for it.
    solution is not too beautiful but it works with my cyrillic fonts without any additional actions from user.
    output from console thru Composer works rightly...

    if Render's authors are interested in this fix, please contact me.
    my questions on sourceForge are not answered.

  2. #282
    Join Date
    Apr 2006
    Beans
    118

    Re: HOWTO: Install basic G15Tools support for the Logitech G15

    Quote Originally Posted by serge lorich View Post
    the next questions.
    * while testing g15composer i found one issue. g15composer falls when i load bitmap to the same slot three times. maybe it is possible to free previously alloc'ed memory?
    * the second question is about internationalization in g15tools. i mean utf-8 support for TTF fonts.
    I'll take a look at the g15composer issue, I probably did forget to free memory somewhere. Can you get a backtrace when it fails or provide more detail on how it fails? As for internationalization, I don't have any experience doing that sort of thing, if you do I'd be greatly appreciative of patches.

    Just saw your post that you have UTF8 working. I'd love to see the patch. Sorry for not responding sooner, I've got another project that I'm actually being paid for (and, thus, the payor's expectation of quick results) that's taking most of my time now. There are a couple of other minor fixes for libg15render that need to get pushed out too, so if you can get a patch to me this weekend, I'll see if I can get a new release out quickly.
    Last edited by Aneurysm9; April 13th, 2007 at 02:10 AM.

  3. #283
    Join Date
    Apr 2007
    Location
    Netherlands
    Beans
    38
    Distro
    Ubuntu 7.10 Gutsy Gibbon

    Re: HOWTO: Install basic G15Tools support for the Logitech G15

    Hello people,

    Is there any amd 64 bit support for the G15?
    I'm on Kubuntu 6.10 Edgy.

    Thanks!
    MachineHead

  4. #284
    Join Date
    Oct 2005
    Beans
    80

    Re: HOWTO: Install basic G15Tools support for the Logitech G15

    Yes, I posted them some pages back. I'll have a look for it in a bit and I'll edit this post.

    Did you even look for them? Two pages back I posted the debs
    http://ubuntuforums.org/showthread.p...64#post2236531

  5. #285
    Join Date
    Oct 2005
    Beans
    80

    Re: HOWTO: Install basic G15Tools support for the Logitech G15

    Howto: Compile the necessary debs in Ubuntu (7.04, probably the others as well)

    download all the necessary files at sourceforge to your desktop here and here

    You want g15composer, libg15, libg15render and g15daemon. The rest is optional, play with them once its all working.

    Lets take care of dependencies:

    Code:
    sudo apt-get install build-essential libfreetype6-dev libdaemon-dev libusb-dev libttf-dev checkinstall
    temporarily take care of uinput:

    sudo modprobe uinput

    (Once this is all working make sure to type sudo nano /etc/modules into a terminal and put uinput at the end of the file. This will ensure it loads automatically on boot)

    extract all the archives onto your desktop (right click, extract)
    (or in terminal type tar -xf *name archive*)

    and run the script, check for errors directly above the step "create default documentation" in between compilations to make sure your dependencies are ok. When it asks you to name the package simply type in the full name, libg15-1.2.2 for example and it will fill in the details:

    Code:
    for package in libg15-1.2.2 libg15render-1.2 g15daemon-1.2.7 g15composer-3.1; do cd $package; ./configure --prefix=/usr --enable-ttf; make; sudo checkinstall make install; cd ..; done
    Please, use a little common sense when it comes to the version numbers. Just check to make sure the folders on your desktop match the version numbers in the mini-script above.

    Follow the above steps and you should have built all the packages with ttf support, try typing sudo g15daemon and a clock should pop up.

    If you want to have the daemon autorun on startup try running (BE CAREFUL)

    Code:
    sudo visudo
    Change the user part and add the following to the end of the file:

    Code:
    user ALL= NOPASSWD: /usr/sbin/g15daemon
    and press ctrl+x to exit. Press Y to accept, it will check for syntax mistakes and if it finds one it will ask you "What now?" Simply press E and make the necessary changes.

    After this go to System->Preferences->Sessions and add sudo g15daemon to the list

    And if you really, really can't figure it out I attached the compiled debs for 7.04 386

    Ps. I take no credit for the above mini-script, I simply found it somewhere and find it extremely useful. Thanks to whoever made it.

    Edit:

    Also attached is a script for amarok, save it to you Desktop. Now simply open Amarok -> Tools -> Script Manager -> Install script -> select amarok-g15-dcop_cli.pl.amarokscript.tar.gz -> install -> run it from the list (its under general). It should work immediately if you had g15daemon running (the clock).
    Attached Files Attached Files
    Last edited by drdnl; November 7th, 2007 at 01:03 PM.

  6. #286
    Join Date
    Apr 2007
    Location
    Netherlands
    Beans
    38
    Distro
    Ubuntu 7.10 Gutsy Gibbon

    Re: HOWTO: Install basic G15Tools support for the Logitech G15

    Hi there drdnl,

    Thanks for your reply.
    I didn't search the pages by hand no.
    I googled for g15 drivers and found this thread.
    Just couldn't find any mentioning about amd 64 architecture.

    Thanks for your reply, I'll remember to flip a few pages in the future.

    btw, isn't i386 32-bit architecture?
    It's my first go on Kubuntu so I'm pretty impressed I got most of what I need set up at the moment

    I'll work on my keyboard later, for my work concerns me at the moment

    Regards,
    MachineHead

  7. #287
    Join Date
    Oct 2005
    Beans
    80

    Re: HOWTO: Install basic G15Tools support for the Logitech G15

    You're welcome,

    Just to be clear, the 6.10 amd64 debs are two pages back. The debs I just posted are indeed i386 for 7.04, if you need 7.04 you can compile them with the above.

    Hang in there, Linux is absolutely worth the learning curve (1 year and still a happy ubuntu user). I now use my pc in ways which were practically impossible before and have learned alot in the meantime.

    Good luck and feel free to post if you have problems,
    D

  8. #288
    Join Date
    Feb 2007
    Beans
    141
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: HOWTO: Install basic G15Tools support for the Logitech G15

    alright, i need a little help here. i installed the 7.04 debs in the above post, but i cant seem to get g15composer to work properly i've tried the mkmod to create a pipe, but it still holds the command line until i use ctrl+c to exit it manually, an i missing something? also i'm trying to figure out how to build a scxript to work with exaile, so if i could get some info about interacting with g15 composer that wouls be great.

  9. #289
    Join Date
    Apr 2007
    Beans
    2

    Re: HOWTO: Install basic G15Tools support for the Logitech G15

    Here is a possible fix for the repeating macro issue. The problem occurs when HAVE_X11_EXTENSIONS_XTEST_H is true and is caused because the last character that is pressed never sends the release to X11.

    I modified my g15macro.c to always record a key release (but only display it for the special keys). Your mileage might vary and I have only tested this for a short while, but it seems stable enough...

    I followed the directions in http://ubuntuforums.org/showthread.php?p=2461304
    to get the g15daemon running using the 1.9.0 pre 2.0 version of g15daemon.

    Code:
    void xkey_handler(XEvent *event) {
    
        static unsigned long lasttime;
        unsigned char keytext[256];
        unsigned int keycode = event->xkey.keycode;
        int press = True;
        int display = True;
    
        if(event->type==KeyRelease){ // we only do keyreleases for some keys
          pthread_mutex_lock(&x11mutex);
          KeySym key = XKeycodeToKeysym(dpy, keycode, 0);
          pthread_mutex_unlock(&x11mutex);
            switch (key) {
                case XK_Shift_L:
                case XK_Shift_R:
                case XK_Control_L:
                case XK_Control_R:
                case XK_Caps_Lock:
                case XK_Shift_Lock:
                case XK_Meta_L:
                case XK_Meta_R:
                case XK_Alt_L:
                case XK_Alt_R:
                case XK_Super_L:
                case XK_Super_R:
                case XK_Hyper_L:
                case XK_Hyper_R:
                    break;
                default: 
                    display = False;
                    break;
            }
            press = False;
        }
        if(recording){
            current_recording.recorded_keypress[rec_index].keycode = keycode;
            current_recording.recorded_keypress[rec_index].pressed = press;
            current_recording.recorded_keypress[rec_index].modifiers = event->xkey.state;
            if(rec_index==0)
                current_recording.recorded_keypress[rec_index].time_ms=0;
            else
                current_recording.recorded_keypress[rec_index].time_ms=g15daemon_gettime_ms() - lasttime;
            rec_index++;
    
            /* now the default stuff */
            pthread_mutex_lock(&x11mutex);        
            XUngrabKeyboard(dpy,CurrentTime);
            pthread_mutex_unlock(&x11mutex);
    
            if(display == True) {
               fake_keyevent(keycode,press,event->xkey.state);
            }
    
            pthread_mutex_lock(&x11mutex);
            XGrabKeyboard(dpy, root_win, True, GrabModeAsync, GrabModeAsync, CurrentTime);
            XFlush(dpy);
    
            strcpy((char*)keytext,XKeysymToString(XKeycodeToKeysym(dpy, keycode, 0)));
            pthread_mutex_unlock(&x11mutex);        
    
            if(display == True) {
               if(0==strcmp((char*)keytext,"space"))
                   strcpy((char*)keytext," ");
               strcat((char*)recstring,(char*)keytext);
               g15r_renderString (canvas, (unsigned char *)recstring, 0, G15_TEXT_MED, 80-((strlen((char*)recstring)/2)*5), 22);
               g15_send(g15screen_fd,(char *)canvas->buffer,G15_BUFFER_LEN);
            }
    
        }else
            rec_index=0;
    
            lasttime = g15daemon_gettime_ms();
    }
    Also, I moved the save routine to write out the configuration every time a new macro is recorded.
    Code:
    void *Lkeys_thread() {
    ...
                    default:
                        if(keystate >=G15_KEY_G1 && keystate <=G15_KEY_G18){
                            if(recording==1){
                                record_complete(keystate);
                                recording = 0;
                                 pthread_mutex_lock(&x11mutex);
                                 XUngrabKeyboard(dpy,CurrentTime);
                                 XFlush(dpy);
    
                                 /* Write configuration every time a macro is recorded*/
                                 config_fd = open(configpath,O_CREAT|O_WRONLY|O_SYNC,0600);
                                 write(config_fd,mstates[0],sizeof(mstates_t));
                                 write(config_fd,mstates[1],sizeof(mstates_t));
                                 write(config_fd,mstates[2],sizeof(mstates_t));
                                 close(config_fd);
    
                                 pthread_mutex_unlock(&x11mutex);
                            } else {
                                macro_playback(keystate);
                            }
                        }
                        break;
                }
                keystate = 0;
            }
        }
        return NULL;
    }

    The diff is as follows: (diff -w)
    Code:
    72d71
    < char configpath[1024];
    442,446d440
    <     config_fd = open(configpath,O_CREAT|O_WRONLY|O_SYNC,0600);
    <     write(config_fd,mstates[0],sizeof(mstates_t));
    <     write(config_fd,mstates[1],sizeof(mstates_t));
    <     write(config_fd,mstates[2],sizeof(mstates_t));
    <     close(config_fd);
    472d465
    <     int display = True;
    495,496c488
    <                 display = False;
    <                 break;
    ---
    >                 return;
    497a490
    > 
    515d507
    <         if(display == True) {
    517d508
    <         }
    522d512
    < 
    525,526d514
    < 
    <         if(display == True) {
    532d519
    <         }
    611a599
    >     char configpath[1024];
    Last edited by sirel2; April 20th, 2007 at 09:46 PM.

  10. #290
    Join Date
    Mar 2006
    Beans
    112

    Unhappy Re: HOWTO: Install basic G15Tools support for the Logitech G15

    Now that I've upgraded to feisty I installed the g15daemon again and everything went fine but I couldn't get libg15render to install with -enable-ttf.

    output for "./configure --enable ttf:
    Code:
    sandra@sandra-desktop:~/Desktop/libg15render-1.2$ ./configure -enable-ttf
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking for gcc... gcc
    checking for C compiler default output file name... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables... 
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking for style of include used by make... GNU
    checking dependency style of gcc... gcc3
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking for a sed that does not truncate output... /bin/sed
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for /usr/bin/ld option to reload object files... -r
    checking for BSD-compatible nm... /usr/bin/nm -B
    checking whether ln -s works... yes
    checking how to recognise dependent libraries... pass_all
    checking how to run the C preprocessor... gcc -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking dlfcn.h usability... yes
    checking dlfcn.h presence... yes
    checking for dlfcn.h... yes
    checking for g++... no
    checking for c++... no
    checking for gpp... no
    checking for aCC... no
    checking for CC... no
    checking for cxx... no
    checking for cc++... no
    checking for cl.exe... no
    checking for FCC... no
    checking for KCC... no
    checking for RCC... no
    checking for xlC_r... no
    checking for xlC... no
    checking whether we are using the GNU C++ compiler... no
    checking whether g++ accepts -g... no
    checking dependency style of g++... none
    checking for g77... no
    checking for f77... no
    checking for xlf... no
    checking for frt... no
    checking for pgf77... no
    checking for cf77... no
    checking for fort77... no
    checking for fl32... no
    checking for af77... no
    checking for f90... no
    checking for xlf90... no
    checking for pgf90... no
    checking for pghpf... no
    checking for epcf90... no
    checking for gfortran... no
    checking for g95... no
    checking for f95... no
    checking for fort... no
    checking for xlf95... no
    checking for ifort... no
    checking for ifc... no
    checking for efc... no
    checking for pgf95... no
    checking for lf95... no
    checking for ftn... no
    checking whether we are using the GNU Fortran 77 compiler... no
    checking whether  accepts -g... no
    checking the maximum length of command line arguments... 32768
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for objdir... .libs
    checking for ar... ar
    checking for ranlib... ranlib
    checking for strip... strip
    checking for correct ltmain.sh version... yes
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC
    checking if gcc PIC flag -fPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... cat: /etc/ld.so.conf.d/*.conf: No such file or directory
    GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... yes
    configure: creating libtool
    appending configuration tag "CXX" to libtool
    appending configuration tag "F77" to libtool
    checking whether to enable FreeType2 support... ./configure: line 19905: freetype-config: command not found
    yes
    checking for writePixmapToLCD in -lg15... yes
    checking for ceil in -lm... yes
    checking for an ANSI C-conforming const... yes
    checking for ANSI C header files... (cached) yes
    checking for string.h... (cached) yes
    checking ft2build.h usability... no
    checking ft2build.h presence... no
    checking for ft2build.h... no
    checking for ANSI C header files... (cached) yes
    checking for memset... yes
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating config.h
    config.status: config.h is unchanged
    config.status: executing depfiles commands
    output for "make"
    Code:
    sandra@sandra-desktop:~/Desktop/libg15render-1.2$ make
    make  all-am
    make[1]: Entering directory `/home/sandra/Desktop/libg15render-1.2'
    if /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.    -g -O2   -g -O2  -MT text.lo -MD -MP -MF ".deps/text.Tpo" -c -o text.lo text.c; \
            then mv -f ".deps/text.Tpo" ".deps/text.Plo"; else rm -f ".deps/text.Tpo"; exit 1; fi
    mkdir .libs
     gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -g -O2 -MT text.lo -MD -MP -MF .deps/text.Tpo -c text.c  -fPIC -DPIC -o .libs/text.o
    In file included from text.c:19:
    libg15render.h:16:22: error: ft2build.h: No such file or directory
    libg15render.h:17:10: error: #include expects "FILENAME" or <FILENAME>
    libg15render.h:18:10: error: #include expects "FILENAME" or <FILENAME>
    In file included from text.c:19:
    libg15render.h:47: error: expected specifier-qualifier-list before 'FT_Library'
    text.c: In function 'g15r_renderString':
    text.c:109: warning: comparison between pointer and integer
    text.c: In function 'g15r_ttfLoad':
    text.c:154: error: 'g15canvas' has no member named 'ttf_fontsize'
    text.c:155: error: 'g15canvas' has no member named 'ttf_face'
    text.c:157: error: 'g15canvas' has no member named 'ttf_fontsize'
    text.c:158: error: 'g15canvas' has no member named 'ttf_fontsize'
    text.c:160: error: 'g15canvas' has no member named 'ttf_fontsize'
    text.c:163: error: 'g15canvas' has no member named 'ftLib'
    text.c:163: error: 'g15canvas' has no member named 'ttf_face'
    text.c:166: error: 'g15canvas' has no member named 'ttf_fontsize'
    text.c:170: error: 'g15canvas' has no member named 'ttf_fontsize'
    text.c:171: error: 'g15canvas' has no member named 'ttf_face'
    text.c:173: error: 'g15canvas' has no member named 'ttf_face'
    text.c:174: error: 'g15canvas' has no member named 'ttf_fontsize'
    text.c: At top level:
    text.c:179: error: expected ')' before 'face'
    text.c:191: error: expected ')' before 'face'
    text.c:209: error: expected ')' before 'face'
    text.c:221: error: expected ')' before 'face'
    text.c:233: error: expected declaration specifiers or '...' before 'FT_Bitmap'
    text.c: In function 'draw_ttf_char':
    text.c:236: error: 'FT_Int' undeclared (first use in this function)
    text.c:236: error: (Each undeclared identifier is reported only once
    text.c:236: error: for each function it appears in.)
    text.c:236: error: expected ';' before 'char_x'
    text.c:237: error: expected ';' before 'x_max'
    text.c:238: error: expected ';' before 'y_max'
    text.c:239: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'tmpbuffer'
    text.c:239: error: 'tmpbuffer' undeclared (first use in this function)
    text.c:242: error: 'g15canvas' has no member named 'ftLib'
    text.c:242: error: 'charbitmap' undeclared (first use in this function)
    text.c:244: error: 'char_y' undeclared (first use in this function)
    text.c:244: error: 'q' undeclared (first use in this function)
    text.c:244: error: 'y_max' undeclared (first use in this function)
    text.c:245: error: 'char_x' undeclared (first use in this function)
    text.c:245: error: 'p' undeclared (first use in this function)
    text.c:245: error: 'x_max' undeclared (first use in this function)
    text.c: At top level:
    text.c:252: error: expected declaration specifiers or '...' before 'FT_Face'
    text.c: In function 'draw_ttf_str':
    text.c:254: error: 'FT_GlyphSlot' undeclared (first use in this function)
    text.c:254: error: expected ';' before 'slot'
    text.c:261: error: 'face' undeclared (first use in this function)
    text.c:262: error: 'FT_LOAD_RENDER' undeclared (first use in this function)
    text.c:262: error: 'FT_LOAD_MONOCHROME' undeclared (first use in this function)
    text.c:263: error: 'FT_LOAD_TARGET_MONO' undeclared (first use in this function)
    text.c:264: error: 'slot' undeclared (first use in this function)
    text.c:265: error: too many arguments to function 'draw_ttf_char'
    text.c: In function 'g15r_ttfPrint':
    text.c:288: error: 'g15canvas' has no member named 'ttf_fontsize'
    text.c:290: error: 'g15canvas' has no member named 'ttf_face'
    text.c:292: error: 'g15canvas' has no member named 'ttf_fontsize'
    text.c:294: error: 'g15canvas' has no member named 'ttf_face'
    text.c:295: error: 'g15canvas' has no member named 'ttf_fontsize'
    text.c:297: warning: incompatible implicit declaration of built-in function 'printf'
    text.c:300: error: 'g15canvas' has no member named 'ttf_face'
    text.c:301: error: 'g15canvas' has no member named 'ttf_fontsize'
    text.c:303: error: 'g15canvas' has no member named 'ttf_face'
    text.c:305: error: 'g15canvas' has no member named 'ttf_face'
    text.c:307: error: 'g15canvas' has no member named 'ttf_face'
    text.c:307: error: too many arguments to function 'draw_ttf_str'
    make[1]: *** [text.lo] Error 1
    make[1]: Leaving directory `/home/sandra/Desktop/libg15render-1.2'
    make: *** [all] Error 2
    I had the g15daemon running with amarok and ttf enabled before in dapper and didn't have any problems. Does anybody have any ideas what could be causing this error?

Page 29 of 48 FirstFirst ... 19272829303139 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •