Progger
GMT+1
kun je dat niet met software oplossen?
bijvoorbeeld een auto hotkey script?
https://autohotkey.com/
kwestie van een bestaand keyboard modificeren en aan iedere knop een acite hangen.
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Op 17 januari 2017 22:33:48 schreef Progger:
kun je dat niet met software oplossen?bijvoorbeeld een auto hotkey script?
https://autohotkey.com/kwestie van een bestaand keyboard modificeren en aan iedere knop een acite hangen.
Nee, dat is niet een geschikte oplossing, tenzij er geen alternatieven zijn.
Die tweeny komt het meest in de buurt, voor zover ik het de PIC niet zelf kan laten doen.
MGP
LDmicro user.
Op 17 januari 2017 22:27:53 schreef Fantomaz:
De opzet is om met minder toetsen (en met combinaties of patroon van aanslaan van toetsen) het hele alfabet te kunnen projecteren op mijn beeldscherm.
Dat gaat zomaar niet, om iets op je PCscherm te krijgen moet je eerst een programma opstarten, een tekstverwerker of één of ander (zelfgemaakt) programma.
Tenzij je in dos gaat werken, maar dat betwijfel ik omdat je over usb schrijft en dan gaan mijn vermoedens uit naar een toetsenbord voor gehandicapten maar dat is een gok als een ander.
En nu we weer terug aan het begin van dit topic zijn kun je misschien ook kiezen om uw ascii codes serieel/usb naar de pc te sturen.
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Dank voor je Antwoord, MGP.
Natuurlijk zal ik eerst een programma starten waarin getypt kan worden.
Je zit er overigens niet ver naast.
De gebruiker is beperkt en het is de opzet om met een aantal combinatie toetsen het hele alfabet te kunnen invoeren, naast de cijfers.
Ik had eerst ook gedacht aan serieel (waarschijnlijk komen daar de ASCII aspiraties vandaan)
Maar omdat niet alle apparaten tegenwoordig serieel hebben, én USB meer common is, wil ik het graag in USB uitvoeren.
MGP
LDmicro user.
Koop dan zo'n RS232 naar usb kabel, en je kunt gewoon uw pic programma behouden.
Je kunt er ook kopen met TTL rs232 naar USB dan heb je geen MAX232 nodig.
Op 14 januari 2017 16:03:17 schreef Fantomaz:
Ik wil echter nooit teveel van mijn projecten uit de doeken doen en wel om 2 redenen...
1) men komt vaak (met de beste bedoelingen) op de proppen met totaal andere oplossingen voor het probleem.
2) er zijn elmenten die "geïnspireerd" worden door mijn ideeen en deels daarmee aan de haal gaan.
Als ik het goed begrijp is een "macro toetsenbord" wat u zoekt. Deze bestaan al, en er zijn ook al vele voorbeelden van (delen ervan) die u kunt vinden op het internet. (misschien bedoelt u dit toch niet)
Zoekt u op hid keyboard in combinatie met uw gewenste controller, en gewenste programmertaal. Dan is het usb toetsenbord gedeelte in ieder geval rond, er is al ontzettend veel code hiervoor te vinden.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
het is de opzet om met een aantal combinatie toetsen het hele alfabet te kunnen invoeren, naast de cijfers.
Dat bestaat al: een telefoon keypad... (alleen controllertje met wat firmware en USB eraan en klaar...
)

Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Op 19 januari 2017 19:26:37 schreef MGP:
Koop dan zo'n RS232 naar usb kabel, en je kunt gewoon uw pic programma behouden.
Dat wordt te lomp.
Dan zou een PIC icm de (Arduino?) Teensy een meer praktische oplossing zijn.
Op 19 januari 2017 19:48:49 schreef Arco:
Dat bestaat al: een telefoon keypad... (alleen controllertje met wat firmware en USB eraan en klaar...)
Dat heb ik ook overwogen Arco. Ofwel een "ordinair" USB toetsenbord strippen, zoals hier eerder al werd geopperd.
In geval van het numerieke toetsenbord loop ik ertegenaan dat hij uitsluitend die 12 karakters zend. En niet het Alfabet.
Voor de duidelijkheid:
De PIC reguleert welke toetsencombinatie welke letter weergeeft.
Daarnaast zou het mooi zijn dat deze PIC meteen ook deze letter kan weergeven op het beeld.
Dat nummerieke ding zou als input naar de PIC niet eens zo'n gek idee zijn. Maar daarover is genoeg te vinden in PICbasic.
De Crux is dat het de aangeboden of aangemaakte code als letter wordt weergegeven.
Met een Teensy zou ik een 8 bits PIC uitgang kunnen koppelen aan de ingang van de Teensy, die dan in Arduino geprogrammeerd moet worden dat bv aangeboden 00110111 de letter "h" moet geven als "HID toetsenbord".
Op 19 januari 2017 19:41:52 schreef w1z13:
Zoekt u op hid keyboard in combinatie met uw gewenste controller, en gewenste programmertaal. Dan is het usb toetsenbord gedeelte in ieder geval rond, er is al ontzettend veel code hiervoor te vinden.
Ik zal er nog eens induiken.
Zo jammer dat zoeken op "PIC" heel veel plaatjes opleverd en zoekend op PICbasic, ik naar de andere PICbasic Variant van Mellabs wordt geleid. 
Op 19 januari 2017 21:42:39 schreef Fantomaz:
[...]
Ik zal er nog eens induiken.
Zo jammer dat zoeken op "PIC" heel veel plaatjes opleverd en zoekend op PICbasic, ik naar de andere PICbasic Variant van Mellabs wordt geleid.
Ja ik zie nu dat het voor de PIC toch wat minder wijdverbreid is dan het in eerste instantie lijkt. Misschien is het toch een betere optie om een andere controller te kiezen, want voor zover ik kan lezen gaat het je never-nooit lukken om het complete usb protocol op uw controller te programmeren. Tenzij u er een veelvoud van de tijd die het programmeren van het toetsenbord kostte voor over heeft, lijkt het gebruik van een library handiger. Een snelle google leverde nog dit: http://www.protonbasic.co.uk/showthread.php/76615-PIC-sending-ASCII-keyboard-characters-to-PC-by-USB?highlight=hid+keyboard op. Maar ik vermoed dat dat wel eens uw eigen topic kan zijn, gezien de leeftijd ervan, volgens de posters aldaar zou daar een oplossing staan. Indien dat het geval is dan heeft u hier: https://docs.mbed.com/docs/ble-hid/en/latest/api/md_doc_HID.html nog wel wat aan denk ik.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Je moet de toetsaanslagen ook wel verwerken natuurlijk.
Bijv. de "2". 1x drukken = 2, 2x drukken = A, 3x drukken = B, 4x drukken = C...
Progger
GMT+1
als je enkel de letter H wil zenden op basis van een ingang:
#include "DigiKeyboard.h"
int led = 1; // Change to pin 1 for MODEL A
int btn = 0;
int olds = 0;
void setup() {
pinMode(led, OUTPUT);
pinMode(btn, INPUT);
DigiKeyboard.update();
}
void loop() {
int s = digitalRead(btn);
digitalWrite(led, s);
if (s && !olds)
{
DigiKeyboard.sendKeyStroke(KEY_H);
}
olds=s;
}hier heb je een digispark voor nodig, die je gewoon met arduino programmeert.
http://www.ebay.com/itm/Digispark-Kickstarter-ATTINY85-Arduino-General…
omdat dit ding geen 8 digitale ingangen heeft, zul je via I2C moeten werken, maar dit is alles om een toets als keyboard naar de PC te sturen.
MGP
LDmicro user.
Op 19 januari 2017 21:42:39 schreef Fantomaz:
Dat wordt te lomp.
Dan zou een PIC icm de (Arduino?) Teensy een meer praktische oplossing zijn.
???? ik viel bijna van mijne stoel toen ik dit las deze morgen.
Ik denk dat je nog wat onderzoek moet doen, hoe één en ander in elkaar zit, en dan beslissen wat je gaat gebruiken.
Op 19 januari 2017 21:42:39 schreef Fantomaz:
Voor de duidelijkheid:
De PIC reguleert welke toetsencombinatie welke letter weergeeft.
Daarnaast zou het mooi zijn dat deze PIC meteen ook deze letter kan weergeven op het beeld.
Wat jij wil moet gewoon gaan. Ik doe het ook, maar dan andersom. Ik type het op een zelf gemaakt toetsenboard en stuur het naar de pic en zet het op een display.
Ik heb het toetsenboard gemaakt in Profilab, ik had je al een link gegeven, maar daar is geen reactie op gekomen. De communicatie doe ik met een USB naar serieel kabel, en een seriële interface. Werkt bij mij prima.
Hier heb je een voorbeeld:
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
@W1z13
Een andere controler zie ik niet zitten omdat ik al zo'n end onderweg ben met PICs.
Lees: met mijn boerenverstand kunnen leren hoe tevwerken met PIC basic.
Mocht het nou niet lukken om de USB verbinding tussen PIC en PC te realiseren, zal ik een tussenstapje willen wagen via dat Teensy printje.
Daarmee even het bruggetje geslagen naar:
Op 20 januari 2017 07:43:34 schreef MGP:
???? ik viel bijna van mijne stoel toen ik dit las deze morgen.
Ik denk dat je nog wat onderzoek moet doen, hoe één en ander in elkaar zit, en dan beslissen wat je gaat gebruiken.
Mijn excuus als ik je bruskeerde, MGP...
Ik weet niet welk facet van mijn post je nu dit gevoel gaf.
Dus daar graag een vervolgreactie op...
Kijk...
Even voor iedereen de begrijpelijke verwarring moet laten bezinken:
Hoe de letters en cijfers tot stand komen is niet relevant.
Het gaat er om dat ik cijfers, letters en twee of drie controlefunkties kan versturen naar een PC middels USB.
Het genereren van die karakters en op welk moment ze verstuurd worden, heb ik allemaal al geprogrammeerd. Nagenoeg... want ik zal wat moeten debuggen en de boel moeten aanpassen aan mogelijk een andere PIC. Daarmee Arco ook beantwoord, denk ik.
Van wat ik van die Teensy begreep, kan ik op zijn ingangen logische 5v's aanbieden.
En als die Teensy te programmeren valt zodat hij een aangeboden byte weet om te zetten naar een corresponderend karakter, die hij in zijn funktie als "toetsenbord" naar de PC stuurt, ben ik er ook.
Natuurlijk is het charmanter om alles middels een PIC te doen. Maar als dat niet lukt, is een Teensy een goed alternatief. Of zie ik het nu te rooskleurig?
@Lambiek, ik heb je post wellicht gemist.
Ga ik wat mee doen.
@Progger.
Jouw stukje code bevat ook een deel verwerking van de aangeslagen toets?
Welke programmeertaal is dat trouwens?
Stel dat ik heel basaal zou stellen IF a=1 then, waarna er een lette "a" geprojecteerd wordt?
Hoe zou dat er dan uit zien?
MGP
LDmicro user.
Op 20 januari 2017 23:30:23 schreef Fantomaz:
Ik weet niet welk facet van mijn post je nu dit gevoel gaf.
Dus daar graag een vervolgreactie op...
Als je zegt dat je met een RS232/usb kabeltje een lompe uitvoering gaat krijgen en beter af zijt met er een Teensy ertussen dan was ik zeer verbaasd.
Maar het was vroeg in de morgen en zat nog op het punt van mijn stoel vandaar dat ik er bijna naast zat 
Leave it..
Ik heb nu ook eens de rest van het topic gelezen en ik vermoed ook dat je eigenlijk nog aan het begin van uw pic programma zit en je voorlopig niet weet welke richting je moet inslaan en dat is geen verwijt.
De twijfelende mogelijkheid van over te stappen naar een Teensy doet het vermoeden versterken.
Ook het feit dat je schrijft van 40 toetsen in te lezen met een pic, daar stel ik mij ook vragen bij, welke pic gebruik je hiervoor en hoe lees je die in?
Als je iets vraagt op een forum wees meer open ivm met de praktische kant, niemand moet weten voor wie, enkel hoe en wat je zou willen maken of dat nu voor een fictief of een bestaand iemand is speelt voor ons geen rol.
Er is geen enkele reden om u te laten beinvloeden door de gegeven antwoorden, kies wat je zelf ziet zitten.
30j geleden heb ik eens een programma gemaakt voor iemand in C en dos, het bestond uit 2 contacten en 2 blaaspijpjes direkt aangesloten op de ingang van de RS232 pinnen die een interrupt maakten in dos.
Dat werkte hier prima maar de diegene waarvoor ik het maakte wilde absoluut niet in contact treden om de bugs eruit te halen in de praktijk. Daar heb ik nooit moeilijk over gedaan en hem het kleinschalig project overgedragen inclusief de Turbo C source en schema.
Die was op dat moment heel tevreden en ik heb daar nooit iets meer van gehoord en toch gaf dat veel voldoening, ik had een doel om iets te maken en dat het nog werkte ook.
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Op 21 januari 2017 09:37:52 schreef MGP:
Als je zegt dat je met een RS232/usb kabeltje een lompe uitvoering gaat krijgen en beter af zijt met er een Teensy ertussen dan was ik zeer verbaasd.
Een PIC en een module van 45 bij 23mm in een behuizing is stukken kleiner dan een blokje, een stuk seriele kabel, naast de bestaande behuizing.
Ik heb nu ook eens de rest van het topic gelezen en ik vermoed ook dat je eigenlijk nog aan het begin van uw pic programma zit en je voorlopig niet weet welke richting je moet inslaan en dat is geen verwijt.
De twijfelende mogelijkheid van over te stappen naar een Teensy doet het vermoeden versterken.
Ik heb het allemaal goed voor ogen. Ik denk dat je onvoldoende mijn eerdere posts hebt gelezen want het is allemaal reeds omschreven.
Je had bv kunnen lezen dat ik de programmering nagenoeg rond had in PIC basic en nog slechts vast zat op de overzetting van de data (individuele karakters) naar de PC.
Dat wil ik doen via een PIC. Mocht ik dat niet voor elkaar krijgen, zou de Teensy de vertaalslag kunnen maken.
Ik ken de Teensy verder nog niet. Maar de mogelijkheid die deze module biedt om als HID te fungeren is al een pré. Meer dan een aangeboden byte vertalen naar een corresponderende letter en deze te versturen over USB, hoeft dit dingetje niet te doen.
De basis programmering blijft gewoon in de PIC zitten.
Ook het feit dat je schrijft van 40 toetsen in te lezen met een pic, daar stel ik mij ook vragen bij, welke pic gebruik je hiervoor en hoe lees je die in?
Ook hier heb je meerdere facetten van mijn eerdere posts gemist.
Ik wil een 40 tal verschillende Karakters kunnen versturen naar mijn PC.
De karakters worden gegenereerd, of gekozen, wat je wilt... door een serie toetsencombinaties. Dat is ook niet relevant. Het gaat om een mogelijkheid om een stukje data als karakter te versturen.
Hoe die tot stand komen is niet relevant.
En dat is nou net waarom ik nooit het plan uit de doeken doe. De (goedbedoelde) drive om met andere oplossingen aan te komen dan mogelijk zijn, leiden af van het werkelijke probleem, dan wel de vraag.
En hoe meer ik uitleg, hoe meer men er zijn mening over geeft hoe ze het zelf zouden doen.
En dat is begrijpelijk want we zijn enorm kundig en innovatief, hier op CO.
Alleen zit ik daar niet op te wachten.
Wellicht doe ik zelf ook. Maar ik ben onvoldoende onderricht en men is me doorgaans voor. ?
Het gevolg is nu wel dat ik me nu loop te verdedigen voor mijn modus operandi.
Als je iets vraagt op een forum wees meer open ivm met de praktische kant, niemand moet weten voor wie, enkel hoe en wat je zou willen maken of dat nu voor een fictief of een bestaand iemand is speelt voor ons geen rol.
Wél meer open en dan verwachten dat het doel geen rol speelt?
helaas... Men wil altijd van de hoed en de rand weten zodat ze door kunnen borduren op de voering.
Ik heb een technische vraag en leg dat voor.
Toegegeven... in mijn onkunde benoemde ik ASCII codes, wat onnodig blijkt.
Maar als dat geklaard is, kunnen we toch over tot de orde van de dag en door mijmeren over het probleem?
Natuurlijk. Als ik een brainwave heb waarbij nevenzaken invloed hebben op wat ik wil, puur omdat ik er volledig naast zit, kan ik me de gedachten indenken.
Echter is dat alles al gedekt.
Progger
GMT+1
Op 20 januari 2017 23:30:23 schreef Fantomaz:
@Progger.
Jouw stukje code bevat ook een deel verwerking van de aangeslagen toets?
Welke programmeertaal is dat trouwens?Stel dat ik heel basaal zou stellen IF a=1 then, waarna er een lette "a" geprojecteerd wordt?
Hoe zou dat er dan uit zien?
ja de neeste regels zijn voor het inlezen van de digitale ingang (DigitalRead)
de taal is een C met wat arduino specifieke commandos.
het belangrijkste is dus de
DigiKeyboard.sendKeyStroke(KEY_H);
die stuurt een bericht over USB naar de PC dat de H toets is ingedrukt en losgelaten.
zoals je kunt zien zijn er maar 6 poorten, waarvan er 2 gebruikt worden voor USB. dus moet heb je maar 2^4 =16 mogelijkheden.
via I2C zou het wel werken. als je wil kan ik een test voor je doen.
voor de afmetingen hoef je het niet te laten en voor de prijs ook niet. 2 dollar op ebay ofzo.
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Nice, Progger!
Ik houd deze, net als de Teensy, even in ogenschouw.
Op het PICbasic forum van Proton, heb ik ook nog wat lopen.
Daar begin ik ook redelijk inzicht te krijgen hoe PICbasic dat kan doen.
Los ervan dat ik dan alles in 1 IC heb, is die materie ook verrekte interessant om me in te verdiepen. ?
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Op 19 januari 2017 22:41:11 schreef Arco:
Je moet de toetsaanslagen ook wel verwerken natuurlijk.
Bijv. de "2". 1x drukken = 2, 2x drukken = A, 3x drukken = B, 4x drukken = C...
Volgens mij had ik deze gemist, Arco.
Maar niet getreurd. Dit heb ik al onder controle.??
MGP
LDmicro user.
Eens zoeken op "keyboard wedge", misschien is dat een oplossing, zoals ik al schreef, vroeger een veel gebruikte methode voor handscanners.
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Progger
GMT+1
keyboard wedge gebruiktje vroeger om je PS/2 poort niet op te offeren.
als je PS/2 gebruikt (veel simpeler als USB) kun je gewoon een paar extra poorten toevoegen. (meeste PC's hebben tegenwoordig geen eens PS/2 meer)

https://www.allekabels.nl/toetsenbord-kabel/22/1218306/usb-naar-ps2-ve…
PIC code om PS/2 keyboard codes te versturen:
http://www.piclist.com/techref/microchip/io/dev/keyboard/ps2-jc.htm
MGP
LDmicro user.
Ik bedoelde eigenlijk met PC software het zaakje oplossen.
Zo hoeft de code niet herschreven te worden.
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Het apparaat moet -net als een toetsenbord- probleemloos aan te sluiten zijn op álle PC's waar normaal Windows op draait.
Dus geen PS2 constructies want dan moet men weer een wedge hebben, wat óók weer een te lomp geheel wordt.
Dan zou ik nog eerder een seriele poort kunnen gebruiken.
Ik heb inmiddels wat gevonden.
Een USB keyboard Descriptor. Deze code maakt deel uit van het programma, waardoor ik gewoon de data in een variabele stop, die via de USB als een "aangeslagen toets" wordt verzonden.
Wanneer ik dat USB deel heb uitgewerkt, zal ik dat hier posten.
Hoe ver ben je, ben wel benieuwd. Ik heb ook wat gevonden via een pic en Profilab kan het ook. Ik zend een ascii code (getal) via de pic serieel via usb naar de pc, en Profilab zet het om in tekst op de pc.