Show Posts
Pages: [1] 2 3 ... 12
1  Using Arduino / Programming Questions / Re: Leonardo international keyboard support on: June 07, 2014, 04:04:42 am
Thank you,
I'll try
 smiley
2  Using Arduino / Programming Questions / Re: Leonardo international keyboard support on: June 06, 2014, 05:41:27 am
This is the keylayouts.h of teensy:
Code:
/* Teensyduino Core Library
 * http://www.pjrc.com/teensy/
 * Copyright (c) 2013 PJRC.COM, LLC.
 *
 
#ifndef KEYLAYOUTS_H__
#define KEYLAYOUTS_H__

#include <stdint.h>
#include <avr/pgmspace.h>

#ifdef __cplusplus
extern "C"{
#endif

//#define LAYOUT_US_ENGLISH
//#define LAYOUT_CANADIAN_FRENCH
//#define LAYOUT_CANADIAN_MULTILINGUAL
....
....
....



// http://en.wikipedia.org/wiki/Keyboard_layout


#define MODIFIERKEY_CTRL        ( 0x01 | 0x8000 )
#define MODIFIERKEY_SHIFT       ( 0x02 | 0x8000 )
#define MODIFIERKEY_ALT         ( 0x04 | 0x8000 )
#define MODIFIERKEY_GUI         ( 0x08 | 0x8000 )
#define MODIFIERKEY_LEFT_CTRL   ( 0x01 | 0x8000 )
#define MODIFIERKEY_LEFT_SHIFT  ( 0x02 | 0x8000 )
#define MODIFIERKEY_LEFT_ALT    ( 0x04 | 0x8000 )
#define MODIFIERKEY_LEFT_GUI    ( 0x08 | 0x8000 )
#define MODIFIERKEY_RIGHT_CTRL  ( 0x10 | 0x8000 )
#define MODIFIERKEY_RIGHT_SHIFT ( 0x20 | 0x8000 )
#define MODIFIERKEY_RIGHT_ALT   ( 0x40 | 0x8000 )
#define MODIFIERKEY_RIGHT_GUI   ( 0x80 | 0x8000 )

#define KEY_MEDIA_VOLUME_INC    0x01
#define KEY_MEDIA_VOLUME_DEC    0x02
#define KEY_MEDIA_MUTE          0x04
#define KEY_MEDIA_PLAY_PAUSE    0x08
#define KEY_MEDIA_NEXT_TRACK    0x10
#define KEY_MEDIA_PREV_TRACK    0x20
#define KEY_MEDIA_STOP          0x40
#define KEY_MEDIA_EJECT         0x80

#define KEY_A           ( 4   | 0x4000 )
#define KEY_B           ( 5   | 0x4000 )
#define KEY_C           ( 6   | 0x4000 )
#define KEY_D           ( 7   | 0x4000 )
#define KEY_E           ( 8   | 0x4000 )
#define KEY_F           ( 9   | 0x4000 )
#define KEY_G           ( 10  | 0x4000 )
#define KEY_H           ( 11  | 0x4000 )
#define KEY_I           ( 12  | 0x4000 )
#define KEY_J           ( 13  | 0x4000 )
#define KEY_K           ( 14  | 0x4000 )
....
....
....
#define KEY_F22         ( 113 | 0x4000 )
#define KEY_F23         ( 114 | 0x4000 )
#define KEY_F24         ( 115 | 0x4000 )


// for compatibility with Leonardo's slightly different names
#define KEY_UP_ARROW KEY_UP
#define KEY_DOWN_ARROW KEY_DOWN
#define KEY_LEFT_ARROW KEY_LEFT
#define KEY_RIGHT_ARROW KEY_RIGHT
#define KEY_RETURN KEY_ENTER
#define KEY_LEFT_CTRL MODIFIERKEY_LEFT_CTRL
#define KEY_LEFT_SHIFT MODIFIERKEY_LEFT_SHIFT
#define KEY_LEFT_ALT MODIFIERKEY_LEFT_ALT
#define KEY_LEFT_GUI MODIFIERKEY_LEFT_GUI
#define KEY_RIGHT_CTRL MODIFIERKEY_RIGHT_CTRL
#define KEY_RIGHT_SHIFT MODIFIERKEY_RIGHT_SHIFT
#define KEY_RIGHT_ALT MODIFIERKEY_RIGHT_ALT
#define KEY_RIGHT_GUI MODIFIERKEY_RIGHT_GUI


// Everything below this line is not intended for use in "normal" programs.
// These private symbols populate lookup tables, which are used to translate
// ascii and UTF8 unicode into keystroke sequences.


#ifdef LAYOUT_US_ENGLISH

#define SHIFT_MASK 0x40
#define KEYCODE_TYPE uint8_t

#define ASCII_20 KEY_SPACE // 32  
#define ASCII_21 KEY_1 + SHIFT_MASK // 33 !
#define ASCII_22 KEY_QUOTE + SHIFT_MASK // 34 "
#define ASCII_23 KEY_3 + SHIFT_MASK // 35 #
#define ASCII_24 KEY_4 + SHIFT_MASK // 36 $
#define ASCII_25 KEY_5 + SHIFT_MASK // 37 %
#define ASCII_26 KEY_7 + SHIFT_MASK // 38 &
#define ASCII_27 KEY_QUOTE // 39 '  
#define ASCII_28 KEY_9 + SHIFT_MASK // 40 (
#define ASCII_29 KEY_0 + SHIFT_MASK // 41 )
#define ASCII_2A KEY_8 + SHIFT_MASK // 42 *
#define ASCII_2B KEY_EQUAL + SHIFT_MASK // 43 +
#define ASCII_2C KEY_COMMA // 44 ,
#define ASCII_2D KEY_MINUS // 45 -
#define ASCII_2E KEY_PERIOD // 46 .
#define ASCII_2F KEY_SLASH // 47 /
#define ASCII_30 KEY_0 // 48 0
...
...
...
#define ASCII_74 KEY_T // 116 t
#define ASCII_75 KEY_U // 117 u
#define ASCII_76 KEY_V // 118 v
#define ASCII_77 KEY_W // 119 w
#define ASCII_78 KEY_X // 120 x
#define ASCII_79 KEY_Y // 121 y
#define ASCII_7A KEY_Z // 122 z
#define ASCII_7B KEY_LEFT_BRACE + SHIFT_MASK // 123 {
#define ASCII_7C KEY_BACKSLASH + SHIFT_MASK // 124 |
#define ASCII_7D KEY_RIGHT_BRACE + SHIFT_MASK // 125 }
#define ASCII_7E KEY_TILDE + SHIFT_MASK // 126 ~
#define ASCII_7F KEY_BACKSPACE // 127

#endif // LAYOUT_US_ENGLISH




#ifdef LAYOUT_US_INTERNATIONAL

#define SHIFT_MASK 0x0040
#define ALTGR_MASK 0x0080
#define DEADKEYS_MASK 0x0700
#define CIRCUMFLEX_BITS 0x0100
#define ACUTE_ACCENT_BITS 0x0200
#define GRAVE_ACCENT_BITS 0x0300
#define TILDE_BITS 0x0400
#define DIAERESIS_BITS 0x0500
#define KEYCODE_TYPE uint16_t
#define DEADKEY_CIRCUMFLEX KEY_6 + SHIFT_MASK
#define DEADKEY_ACUTE_ACCENT KEY_QUOTE
#define DEADKEY_GRAVE_ACCENT KEY_TILDE
#define DEADKEY_TILDE KEY_TILDE + SHIFT_MASK
#define DEADKEY_DIAERESIS KEY_QUOTE + SHIFT_MASK

#define ASCII_20 KEY_SPACE // 32  
#define ASCII_21 KEY_1 + SHIFT_MASK // 33 !
#define ASCII_22 DIAERESIS_BITS + KEY_SPACE // 34 "
#define ASCII_23 KEY_3 + SHIFT_MASK // 35 #
#define ASCII_24 KEY_4 + SHIFT_MASK // 36 $
#define ASCII_25 KEY_5 + SHIFT_MASK // 37 %
#define ASCII_26 KEY_7 + SHIFT_MASK // 38 &
#define ASCII_27 ACUTE_ACCENT_BITS + KEY_SPACE // 39 '  
#define ASCII_28 KEY_9 + SHIFT_MASK // 40 (
#define ASCII_29 KEY_0 + SHIFT_MASK // 41 )
#define ASCII_2A KEY_8 + SHIFT_MASK // 42 *
#define ASCII_2B KEY_EQUAL + SHIFT_MASK // 43 +
#define ASCII_2C KEY_COMMA // 44 ,
#define ASCII_2D KEY_MINUS // 45 -
#define ASCII_2E KEY_PERIOD // 46 .
#define ASCII_2F KEY_SLASH // 47 /
#define ASCII_30 KEY_0 // 48 0
#define ASCII_31 KEY_1 // 49 1
#define ASCII_32 KEY_2 // 50 2
...
...
...

#define ISO_8859_1_F5 TILDE_BITS + KEY_O // 245 õ     o TILDE
#define ISO_8859_1_F6 KEY_P + ALTGR_MASK // 246 ö     o DIAERESIS
#define ISO_8859_1_F7 KEY_EQUAL + ALTGR_MASK + SHIFT_MASK // 247 ÷     DIVISION
#define ISO_8859_1_F8 KEY_L + ALTGR_MASK // 248 ø     o STROKE
#define ISO_8859_1_F9 GRAVE_ACCENT_BITS + KEY_U // 249 ù     u GRAVE
#define ISO_8859_1_FA KEY_U + ALTGR_MASK // 250 ú     u ACUTE
#define ISO_8859_1_FB CIRCUMFLEX_BITS + KEY_U // 251 û     u CIRCUMFLEX
#define ISO_8859_1_FC KEY_Y + ALTGR_MASK // 252 ü     u DIAERESIS
#define ISO_8859_1_FD ACUTE_ACCENT_BITS + KEY_Y // 253 ý     y ACUTE
#define ISO_8859_1_FE KEY_T + ALTGR_MASK // 254 þ     THORN
#define ISO_8859_1_FF DIAERESIS_BITS + KEY_Y // 255 ÿ     y DIAERESIS
#define UNICODE_20AC KEY_5 + ALTGR_MASK //     €     Euro Sign
// not yet implemented
#define UNICODE_EXTRA00 0x20AC
#define KEYCODE_EXTRA00 KEY_5 + ALTGR_MASK // 20AC €    Euro Sign

#endif // LAYOUT_US_INTERNATIONAL


....
....
....
....



extern const KEYCODE_TYPE keycodes_ascii[];
extern const KEYCODE_TYPE keycodes_iso_8859_1[];

#ifdef __cplusplus
} // extern "C"
#endif

#endif


I'd like to use this layout also with Leonardo.
I think that is could be usefull for other people.
3  Using Arduino / Programming Questions / Re: Leonardo international keyboard support on: June 06, 2014, 05:28:38 am
Thank you johnwasser,
I would like to create different tables for multiple languages​​.
I can also edit the file HID.cpp, but how can I then call up the table of language that I choose?
4  Using Arduino / Programming Questions / Leonardo international keyboard support on: June 05, 2014, 09:16:29 am
Hi,
I would like to make an application with leonardo to emulate the keyboard to write some phrases pressing a button.
But I have some problems about writing some characters.
This is my code:
Code:
void setup() {
  // make the pushButton pin an input:
  pinMode(2, INPUT);
  digitalWrite (2,HIGH);
  // initialize control over the keyboard:
  Keyboard.begin();
}

void loop() {
  // read the pushbutton:
  // if the button state has changed,
  if (digitalRead(2)==0) {
    Keyboard.println("www.open-electronics.org");
    delay(2000);
  }
}

I should obtain
www.open-electronics.org
but i get
www.open'electronics.org
 
   - become '

My keyboard layout is Italian, and I'm sure that this is the problem.
Is there a way to set the keyboard layout?

Teensy for example, allows you to do this.


You can not do the same thing with Leonardo?

I would be fine to include the keyboard layout in the sketch, for example,
# include <italian_keyboard.h>

Thank you
5  Using Arduino / Project Guidance / Re: DTMF decoder with GSM shield sim900 problem .. plz help me on: January 31, 2014, 11:56:03 am
Hi, our SIM900 mounted in our breakout have the DTMF function included.
You don't need to use 8870.
Not all SIM900 have this function.
I hope that is could be helpful for you

http://store.open-electronics.org/Breakout/GSM%20Breakout
http://www.open-electronics.org/tag/gsm-shield/
6  International / Hardware / Re: Futurashop/OpenElectronics GSM GPRS GPS Shield - TOPIC DI SUPPORTO on: October 10, 2013, 01:49:37 am
Si si ridotta... non so che è successo...
era oscena....  smiley-sad-blue
7  International / Hardware / Re: Consiglio sensore di livello GSM on: June 27, 2013, 01:38:26 am
Puoi anche andare sul TDG133, è un combinatore telefonico con 2 ingressi optoisolati
http://www.futurashop.it/index.php?route=product/product&filter_name=tdg133&product_id=528
che puoi abbinare ad un sensore di livello tipo questo
http://www.futurashop.it/index.php?route=product/product&path=4009_921&product_id=3595

Se invece vuoi rimanere su qualcosa tipo Arduino ma con funzionalità GSM... allora per forza TiDiGino che può anche ospitare shield di Arduino ed è programmabile dall'ide Arduino.
http://www.futurashop.it/index.php?route=product/product&filter_name=tidigin&product_id=1364

Qui maggiori info
http://www.open-electronics.org/tag/tidigino/

e qui la libreria
https://code.google.com/p/tidigino/downloads/list

Boris
8  International / Hardware / Re: Consigli per Arduino + shield GPS + shield GSM/Gprs on: June 18, 2013, 11:12:14 am
Se ti servono funzioni di GSM e GPS ti consiglio la breakout board FT971
da abbinare alla shield gsm

More info
http://www.open-electronics.org/tag/gsm-shield/
9  International / Hardware / Re: Futurashop/OpenElectronics GSM GPRS GPS Shield - TOPIC DI SUPPORTO on: April 19, 2013, 01:43:22 am
http://www.open-electronics.org/localizer-with-sim908-module/

qui trovi un localizzatore che la utilizza, e c'è elenco componenti e schema.

10  International / Hardware / Re: Futurashop/OpenElectronics GSM GPRS GPS Shield - TOPIC DI SUPPORTO on: April 18, 2013, 10:06:18 am
Se lo utilizzi si.
Se invece lo lasci spento e usi solo la parte GSM puoi farne a meno
11  International / Hardware / Re: Futurashop/OpenElectronics GSM GPRS GPS Shield - TOPIC DI SUPPORTO on: April 18, 2013, 09:40:39 am
No quello no,
essendo montate con pick&place viene montata completamente.
12  International / Hardware / Re: Futurashop/OpenElectronics GSM GPRS GPS Shield - TOPIC DI SUPPORTO on: April 18, 2013, 09:26:38 am
Yessss
http://store.open-electronics.org/Breakout/Breakout%20PCB/PCB_Mini_GSM_GPRS_GPS_breakboard

Oppure su www.futurashop.it col codice 7200-S971

Ne approfitto per segnalarvi che sul numero di Elettronica In in edicola abbiamo pubblicato il primo di 4 articoli con esempi pratici per utilizzare la GSM GPS shield
http://www.elettronicain.it/myMain/riviste/p_rivista.asp?nrRivista=EI175
13  International / Generale / Re: Misuratore di livello acqua GPRS/GSM on: April 09, 2013, 02:17:56 am
Spero ti possa tornare utile:

Water Tank level display with Arduino
http://www.open-electronics.org/water-tank-level-display-with-arduino/

GSM shield for Arduino
http://www.open-electronics.org/gsm-gps-shield-for-arduino/
14  International / Software / Re: Seed studio gsm Shield on: April 08, 2013, 01:41:16 am
La shield è tutta in componenti discreti tranne i connettori per innestare le breakout board dei moduli GSM (che sono già montate).
I connettori sono comunque semplicissimi da saldare, non hanno un passo proibitivo.
Ti allego i link

Connettori
http://store.open-electronics.org/Accessories/Connectors/CF2X102MM

Breakout board per SIM900 e breakout board per SIM908
http://store.open-electronics.org/Breakout/GSM%20Breakout

15  International / Software / Re: Seed studio gsm Shield on: April 04, 2013, 02:08:53 am
Ciao,
la scheda seeed utilizza il SIM900 come la nostra
http://www.open-electronics.org/gsm-gps-shield-for-arduino/
pertanto puoi utilizzare la stessa libreria,
dovrai semplicemente fare una verifica sui PIN utilizzati.
Pages: [1] 2 3 ... 12