Para que isso funcione em um laptop, você precisa ter suporte "em toda a pilha" da seguinte maneira:
- Suporte ao driver - O laptop deve ter drivers de hardware que possam reconhecer o dispositivo GPS e fazer interface com ele, seja por USB ou outro protocolo. Os drivers geralmente são implementados no kernel, mas se você sabe que possui drivers corretos, a implementação não é importante para você.
- APIs do espaço do usuário que usam os drivers - independentemente da interface do driver ou de como ela funciona, a pilha do espaço do usuário deve estar ciente da presença do dispositivo GPS do hardware e deve saber como acessar o hardware por meio de uma interface de programação. Se você possui drivers de um dispositivo GPS, provavelmente também possui uma interface de programação para o espaço do usuário ... mas você tem a próxima parte?
- Aplicativos que usam as APIs do espaço do usuário - Seu aplicativo cliente (presumivelmente um navegador da Web) deve estar ciente da API do driver do espaço do usuário e ser capaz de usá-la com proveito para oferecer suporte a serviços de localização.
- O aplicativo deve oferecer suporte a um protocolo de localização compatível com o aplicativo da Web que o está consultando - O padrão W3C para geolocalização de pontos de extremidade é a API de localização geográfica do W3C, por isso é um bom ponto de partida. O navegador deve entender basicamente que, quando o servidor da Web solicita a localização, o navegador "entende" a solicitação suficientemente bem para saber que precisa obter dados de geolocalização do usuário.
- O aplicativo deve integrar o driver ao protocolo de localização como um back-end suportado .
Então você acaba com uma pilha de tecnologia mais ou menos assim:
Drivers do kernel <--> Drivers / bibliotecas do espaço do usuário <--> Back-end de geolocalização do navegador da Web específico para as bibliotecas ou estrutura do país de usuário do seu dispositivo <--> Camada de protocolo do navegador da Web que entende uma API de solicitação de localização geográfica baseada em HTTP, como a API de Geolocalização do W3C.
No momento, acho que as peças que provavelmente já estarão disponíveis são:
- Os drivers do kernel e as bibliotecas do espaço do usuário para o dispositivo devem ser fornecidos pelo fabricante.
- a API de localização geográfica do W3C é suportada por um longo tempo no Chrome e Firefox.
A parte que provavelmente está faltando é o "back-end de geolocalização do navegador da Web".
Ou seja, duvido que o Firefox / Chrome realmente tenha suporte à integração de hardware para dispositivos GPS. No momento, estou consciente de apenas uma implementação: o Firefox tem suporte para dispositivos GPSd . Portanto, se seu dispositivo se integrar ao middleware GPSd e seu sistema operacional for um dos suportados, é possível. Caso contrário, provavelmente não (embora possa variar se o fabricante decidir suportar toda a pilha, incluindo um plug-in do navegador).