Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Témata - trimetylamin

Stran: [1]
1
napísal som jednoduchý skript, ktorý číta údaje zo zariadenia klávesnice (napr /dev/input/event3) a podľa nich vytvára MIDI signály (noteon, noteoff, program change). tento prístup som zvolil preto, lebo nič lepšie som nevedel vymyslieť a potreboval som, aby program dokázal snímať jednak stlačenie a jednak uvoľnenie klávesu.

problém je, že samozrejme na klávesnici sa dá naďalej písať...

potreboval by som nejakú metódu ako spraviť to, aby sa na nej nedalo písať, ale aby bola prístupná pre môj program.

skúšal som zakázať čítanie zo súboru pre každého užívateľa, ale aj tak sa na nej dá ďalej písať..
moje vedomosti z komunikácie systému s klávesnicou nie sú takmer žiadne.

ešte dodám, že základná doska má podporu usb klávesnice vypnutú v biose.

za podnetné príspevky ďakujem


keby to niekoho zaujímalo, skript je tuto.
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import os
import string

klavesy =   range(2,14) +range(16,27)
ton_offset=38
velocity=127
channel=2
prgchg=60
lsb=0
klavesnica_device = "/dev/input/by-id/usb-0b38_USB-compliant_keyboard-event-kbd"
midi_out = "/dev/midi1"



def open_klavesnica(device_arg):
   global klavesnica
   klavesnica=open(device_arg, "rb")
   
def open_port(device_arg):
   global port
   port=open(device_arg,'w')

def close_port():
   global port
   port.close()


def note_on(channel,note,volume):
   global port
   port.write("%c%c%c" % (0x90+channel, note, volume))
   port.flush()

def midi_event(byte, *data):
   port.write("%c" %(byte+channel))
   for x in data:
      port.write("%c" %(x))      
   port.flush()


tabulka =   dict([(klavesy
  • , x + ton_offset) for x in range( len(klavesy) ) ])



try: open_klavesnica(klavesnica_device)
except IOError :
        os.system("sudo chmod a+r %s" %klavesnica_device)
   open_klavesnica(klavesnica_device)

open_port(midi_out)


midi_event(192, prgchg)
midi_event(176, 0 ,lsb)


while True:
   try:
                s=klavesnica.read(16)
        except KeyboardInterrupt:
                break
   if s[8] == "\x01" and s[12] != "\x02":
      scancode = ord(s[10])
      vol = velocity * ord(s[12])
      nota = tabulka[scancode]
      if scancode==26 and vol != 0:
         try:
            print "zmena midi \n "            
            pc=int(raw_input(" \b program change: ").strip())
            lsb=int(raw_input("lsb: ").strip())            
         except ValueError:
            print"zadaj čísla"            
         midi_event(192, pc)
         midi_event(176, 0 ,lsb)
         
      else:
         note_on(channel, nota, vol)


######


2
Archiv / prevadzka serveru s routerom Microcom ad 2651
« kdy: 01 Července 2007, 14:00:28 »
dobry den.
s routerom ad 2651 mam nasledujuci problem. v lokalnej sieti mam 2 pc, jeden s win, druhy s ubuntu. ked na linuxovom pocitaci pustim server (in.telnetd, sshd, ftpd) je mozne sa na ne pripojit jedine z lokalnej siete. rovnaky problem je aj na pocitaci s windows. chcem podotknut, ze v konfiguracii routra v casti virtual server mam prislusne porty  (22 (TCP),21(TCP),23(TCP)) presmerovane na moj pc (jeho ip je 10.0.0.8). skusal som postupovat presne podla navodu na http://portforward.com/english/routers/port_forwarding/Microcom/AD-2651/
neviem co mam dalej robit, skusal som hladat odpoved na forach, no nenasiel som ju.
s pozdravom
Erik Andris
 
##########
erik@erik89:~$ ssh 10.0.0.8
erik@10.0.0.8's password:
Linux erik89 2.6.20-16-generic #2 SMP Thu Jun 7 20:19:32 UTC 2007 i686

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
Last login: Sun Jul  1 13:50:11 2007 from erik89.local
erik@erik89:~$ exit
logout
Connection to 10.0.0.8 closed.

erik@erik89:~$ ssh 91.127.125.34
ssh: connect to host 91.127.125.34 port 22: Connection refused
erik@erik89:~$
###########


problém nebol nakoniec nikde.. a akejkoľvek inej ip adresy problém pripojiť sa nie je.

Stran: [1]

Provoz zaštiťuje spolek OpenAlt.